当我查询公共mongodb server时,我有一个简单的查询,它给了我意想不到的结果,
mongodb://steemit:[email protected]:27017/SteemData
db.getCollection('Posts')
.aggregate([
{ $match: { "created" : { $gte: ISODate("2017-10-01T00:00:00.000Z"), $lt: ISODate("2017-10-30T00:00:00.000Z") } } },
{ $group: { "_id": "author", "itemcount": { "$sum": 1 } } },
{ $sort: { "itemcount": -1 } }
])
我试图计算10月份作者的文章数量。
我希望看到一个类似的结果集,
Bob 10
Joe 9
Sam 3
Tim 1
相反,我得到了,
author 23
有人能解释我的聚合管道有什么问题吗?
谢谢
小组赛阶段存在一个小问题;小组阶段(“作者”)中字段的名称应以美元符号为前缀,例如$ group文档中的this example。
尝试将组阶段更新为以下内容:
{ $group: { "_id": "$author", "itemcount": { "$sum": 1 } } },