MongoDB:使用聚合方法获取整个文档

MongoDB:使用聚合方法获取整个文档,mongodb,aggregation-framework,nosql,Mongodb,Aggregation Framework,Nosql,我正试图达到这样的目标: 我有属于某个用户的活动集合。 我想获得按“added_time”排序的活动名称,因此我在活动名称上使用了“group by”,并获得了“added_time”的最大值。 另外,我想按“添加的时间”对它们进行排序,然后得到整个文档。 到目前为止,我只得到了我分组依据的名称和“added_time”属性。 以下是查询: db.getCollection('user_activities').aggregate ( {$match: {'type': 'food', 'u

我正试图达到这样的目标: 我有属于某个用户的活动集合。 我想获得按“added_time”排序的活动名称,因此我在活动名称上使用了“group by”,并获得了“added_time”的最大值。 另外,我想按“添加的时间”对它们进行排序,然后得到整个文档。 到目前为止,我只得到了我分组依据的名称和“added_time”属性。 以下是查询:

db.getCollection('user_activities').aggregate
(
  {$match: {'type': 'food', 'user_id': '123'}},
  {$group:{'_id':'$name', 'added_time':{$max:'$added_time'}}}, 
  {$sort:{'added_time':-1}},
  {$project: {_id: 0,name: "$_id",count: 1,sum: 1, 'added_time': 1}}
)
有人能帮我拿到整个文件吗?
谢谢你

您可以尝试
db.getCollection('user_activities').aggregate({$sort:{'name':1,'added_time':-1}},{$group:{'u id':'$name','doc':{$first:'$$ROOT'}})
但是如何使doc成为主元素而不是嵌套的呢?添加
{$replacetroot:{'newRoot:'$doc}
作为将文档提升到3.4中顶级的最后一个阶段version@Veeram谢谢你的朋友!它的工作原理和我想要的完全一样!:)