mongodb-聚合 - 如何分组,连接阵列,单个步骤中的总体字段
我有一个称为“ session_list”的集合,其中包括以下行。
{"user_id":"[email protected]","focus_score":[1, 2, 3, 4],"active_score":[3, 4, 1], "score" : 10}
{"user_id":"[email protected]","focus_score":[3, 4],"active_score":[3, 4, 1, 7, 7], "score" : 3}
{"user_id":"[email protected]","focus_score":[1, 2, 3, 4, 7],"active_score":[3, 9, 2], "score" : 7}
{"user_id":"[email protected]","focus_score":[5, 7, 8],"active_score":[1, 3, 7], "score" : 4}
如何按USER_ID进行分组,并合并fuse_score数组,然后巩固Active_score数组(没有任何循环)?
预期结果:
{"user_id":"[email protected]","focus_score":[1, 2, 3, 4, 1, 2, 3, 4, 7], "active_score":[3, 4, 1, 3, 9, 2], "score_sum" : 17}
{"user_id":"[email protected]","focus_score":[3, 4, 5, 7, 8], "active_score":[3, 4, 1, 7, 7, 1, 3, 7], "score_sum" : 7}
我的代码:
db.session_list.aggregate([
{
$group: {
_id:{user_id:'$user_id'},
focus_score:{$push:'$focus_score'}
active_score:{$push:'$active_score'}
score_sum:{$sum:'$score_sum'}
}
}
])
但这并不能提供预期的结果。
I have a collection called 'session_list' with the following rows.
{"user_id":"[email protected]","focus_score":[1, 2, 3, 4],"active_score":[3, 4, 1], "score" : 10}
{"user_id":"[email protected]","focus_score":[3, 4],"active_score":[3, 4, 1, 7, 7], "score" : 3}
{"user_id":"[email protected]","focus_score":[1, 2, 3, 4, 7],"active_score":[3, 9, 2], "score" : 7}
{"user_id":"[email protected]","focus_score":[5, 7, 8],"active_score":[1, 3, 7], "score" : 4}
How do I group by user_id and consolidate the focus_score array and then active_score array (without having any for loops) ?
Expected result:
{"user_id":"[email protected]","focus_score":[1, 2, 3, 4, 1, 2, 3, 4, 7], "active_score":[3, 4, 1, 3, 9, 2], "score_sum" : 17}
{"user_id":"[email protected]","focus_score":[3, 4, 5, 7, 8], "active_score":[3, 4, 1, 7, 7, 1, 3, 7], "score_sum" : 7}
My code:
db.session_list.aggregate([
{
$group: {
_id:{user_id:'$user_id'},
focus_score:{$push:'$focus_score'}
active_score:{$push:'$active_score'}
score_sum:{$sum:'$score_sum'}
}
}
])
But this does not provide the expected result.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
mongoplayground
mongoplayground