mongodb aggregate group 分组我想要查询出来多个字段,该怎么写,例子里面都是只有_id跟另外一个聚合结果。
mongodb aggregate group 分组我想要查询出来多个字段,该怎么写,例子里面都是只有_id跟另外一个聚合结果。
db.junk.aggregate([
{ "$group": {
"_id": {
"city": "$city",
"cat": "$cat"
},
"Q1": { "$sum": "$Q1" },
"Q2": { "$sum": "$Q2" },
"Q3": { "$sum": "$Q3" },
"Q4": { "$sum": "$Q4" }
}}
db.studentClass.aggregate(
[
{ "$match" : { name: {
$in: ["小明", "小红"]
} }},
{"$sort":{time:-1}},
{ "$group" : { "_id" : "$userid","userName":{$first:"$userName"},"userSex":{$first:"$userSex"}, "totalScore":{$sum:"$score"}} }
])
类似这种,_id是要分组的字段,其他要展示的字段,可以使用$first来获取分组中的第一条,然后其他的就是网上都能搜索到的汇总记录,比如$sum,$avg等等的
8 回答6.4k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
在initial中把你想要的字段标记出来,使用count,count_1,count_2,count_3来代表你要查询的字段。