【发布时间】:2017-03-01 12:06:43
【问题描述】:
我有类似的文件
[{"_id" : "12","name" : "test1", "nesArray" : [1,2], "createdAt" : ISODate("2016-10-15T06:17:53.946Z") },
{"_id" : "12","name" : "test1", "nesArray" : [1,3], "createdAt" :ISODate("2016-10-15T06:17:54.946Z") },
{"_id" : "12","name" : "test1", "nesArray" : [1,4], "createdAt" :ISODate("2016-10-15T06:17:53.946Z") },
{"_id" : "12","name" : "test1", "nesArray" : [1,2], "createdAt" :ISODate("2016-10-15T06:18:53.946Z") },
{"_id" : "12","name" : "test1", "nesArray" : [1,3], "createdAt" :ISODate("2016-10-15T06:18:53.946Z") },
{"_id" : "12","name" : "test1", "nesArray" : [1,2],"createdAt" :ISODate("2016-10-15T06:19:53.946Z") } ]
我只想检索那些有
的文档- 不同的 nesArray
- 仅最新文档
结果应该是这样的
[{"_id" : "12","name" : "test1", "nesArray" : [1,4], "createdAt" :ISODate("2016-10-15T06:17:53.946Z") },
{"_id" : "12","name" : "test1", "nesArray" : [1,3], "createdAt" :ISODate("2016-10-15T06:18:53.946Z") },
{"_id" : "12","name" : "test1", "nesArray" : [1,2],"createdAt" :ISODate("2016-10-15T06:19:53.946Z") }]
我尝试使用聚合,但我不想使用聚合(Mongoose 填充不适用于聚合)。
【问题讨论】:
-
告诉我们您的尝试
-
@sidgate 我尝试了聚合 1. 按 createdAt 对元素进行排序 2. 按“nesArray”对文档进行分组 3. 按 $last 检索每个组的最新文档。