【发布时间】:2016-09-25 23:55:00
【问题描述】:
我有Post 集合如下:
{ "_id" : ObjectId(..), "date" : ISODate("2014-03-01T08:00:00Z") }
{ "_id" : ObjectId(..), "date" : ISODate("2014-03-01T09:00:00Z") }
{ "_id" : ObjectId(..), "date" : ISODate("2014-03-15T09:00:00Z") }
{ "_id" : ObjectId(..), "date" : ISODate("2014-04-04T11:21:39.736Z") }
{ "_id" : ObjectId(..), "date" : ISODate("2014-04-04T21:23:13.331Z") }
我需要获取帖子的总数和最大日期。因此,上述 coeumtns 的理想结果如下:
{count: 5, date: ISODate("2014-04-04T21:23:13.331Z")}
如何在不处理和计算应用程序代码的情况下通过对 MongoDB 的单个查询获得所需的结果?
编辑: @chridam 感谢您的回复。我已接受您的最佳答案!还能帮我做一件事吗?
假设帖子尚不存在,因此我需要获取计数为零且当前日期为时间戳的结果,如下所示:
{count: 0, [Date.now()]}
MongoDB 可以吗?
【问题讨论】:
标签: node.js mongodb mongoose aggregation-framework