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

using mongo aggregation how to get records with count

我正在尝试使用此代码获取过去 24 小时的记录,但我的要求是所有过去 24 小时的记录和记录总数

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

一个集合中的总记录数是

db.getCollection("myCollection").count()

如果您可以提供 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}}
]
)