限制文档在组聚合中被推送到数组

时间:2015-08-22 18:19:58

标签: mongodb

我有一个集合comments。每条评论都有authorId

我希望commentsauthorId集合分组为'主题',并附上5条最新评论。

到目前为止,我已经尝试过这个:

db.comments.aggregate([{$group: { _id: "$authorId", recentComments: { $push: "$$ROOT"} }}])

但这附上了所有评论。然后我尝试添加这样的限制:

db.comments.aggregate([{$group: { _id: "$authorId", recentComments: { $push: "$$ROOT"} }}, {$limit: 5}])

但这并不限制文件数量,而是限制分组文件的数量。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

添加项目对我有用......

db.comments.aggregate([
  {$group: { _id: "$authorId", recentComments: { $push: "$$ROOT"} }},
  {$project: {_id: 1, title: 1, recentComments: {$slice: ['$recentComments', 0, 5]}}}])