我的数据结构是这样的:
{
"_id": "xxxxxx",
"detail": {
"product_name": "swords big",
"type": "weapon",
"make_player": "震荡龙",
"game_zone": 1
}
}
我想统计detail
中的数据的多个值的 总和 ,能输出成这样的效果:
{” game_zone “:1000, ” type “:200}
怎么写语句可以实现呢?
1
qiuyk 2017-11-23 14:36:04 +08:00
直接$match 再$group 不就可以了?
|
2
xlrtx 2017-11-23 15:23:52 +08:00
.aggregate([{$match:{}}, {$group:{_id:null, total:{$sum:"$detail.game_zone"}}}])
|
3
SlipStupig OP @qiuyk $sum 求总数只能求一个值
|
4
fordoo 2017-11-24 09:33:24 +08:00
{$group: {_id: "$detail.type", sum: {$sum: "$detail.game_zone"}}} ?
|
5
SlipStupig OP @fordoo 比如: type: 1 我要得到 sum,game_zone:2 的我要得到一个 sum
|
6
qiuyk 2017-11-24 14:51:26 +08:00
@SlipStupig 你这是听谁说的= = 几个值都可以的
.aggregate([{$match:{}}, {$group:{_id:null, type:{$sum:"$detail.type"}},game_zone:{$sum:"$detail.game_zone"}}}]) |
7
qiuyk 2017-11-24 14:53:27 +08:00
括号写错了 不过差不多就是这个意思了
|
8
wx8600 2017-11-25 22:13:45 +08:00
这不是在文档里面就有的吗……
|
9
SlipStupig OP @wx8600 文档没写统计两个值啊
|