我有一个集合foo:
{ "_id" : ObjectId("5837199bcabfd020514c0bae"), "x" : 1 }
{ "_id" : ObjectId("583719a1cabfd020514c0baf"), "x" : 3 }
{ "_id" : ObjectId("583719a6cabfd020514c0bb0") }
Run Code Online (Sandbox Code Playgroud)
我用这个查询:
db.foo.aggregate({$group:{_id:1, avg:{$avg:"$x"}, sum:{$sum:1}}})
Run Code Online (Sandbox Code Playgroud)
然后我得到一个结果:
Run Code Online (Sandbox Code Playgroud){ "_id" : 1, "avg" : 2, "sum" : 3 }
{$sum:1}这个查询意味着什么?
小智 5
基本上它会将每行的表达式值相加。在这种情况下,由于行数是 3,所以它将是 1+1+1 =3 。有关更多详细信息,请查看 mongodb 文档https://docs.mongodb.com/v3.2/reference/operator/aggregation/sum/
例如,如果查询是:
db.foo.aggregate({$group:{_id:1, avg:{$avg:"$x"}, sum:{$sum:$x}}})
那么总和值为 1+3=4
| 归档时间: |
|
| 查看次数: |
3740 次 |
| 最近记录: |