使用mongo聚合如何获取带有计数的记录

时间:2018-04-11 01:25:24

标签: javascript node.js mongodb mongoose aggregation

我尝试使用此代码过去24小时记录我得到了它但我的要求是过去24小时记录和记录总数

db.getCollection("COLLECTION_NAME").find({"createdAt":{$gt:new Date(Date.now() - 24*60*60 * 1000)}})

2 个答案:

答案 0 :(得分:2)

如果您能提供2,3个集合来测试此查询,那么答案会更精确。无论如何,这就是你使用aggregation框架的方式。

db.collection.aggregate(
[
   {$match : {"createdAt":{$gt:new Date(Date.now() - 24*60*60 * 1000)}}},
    { "$group": {
        "_id": null, 
        "data": { "$push": "$$ROOT" }, 
        "count": { "$sum": 1 }
    }},
    { "$unwind": "$data" },
    {  "$project ": {"_id" : 0}}
]
)

答案 1 :(得分:0)

集合中的总récords计数是

db.getCollection( “MyCollection的”)。COUNT()