Node.js Mongoose查询:从Post模式填充前2条注释

Node.js Mongoose查询:从Post模式填充前2条注释,node.js,mongodb,mongoose,mongodb-query,mongoose-populate,Node.js,Mongodb,Mongoose,Mongodb Query,Mongoose Populate,我有3个收藏:用户、帖子和评论。帖子有多条评论。 我想要抓取50篇文章,填充作者,填充评论,但我只想要按日期排序的前两位投票最多的评论(_id) 我不知道如何实现这一点。您可以使用猫鼬填充选项来定制您的填充。在这种情况下,将其限制为2 试试这个: Post .find({}) .limit(50) .populate('author') .populate({ path :'comments', options : { sort: { v

我有3个收藏:用户、帖子和评论。帖子有多条评论。 我想要抓取50篇文章,填充作者,填充评论,但我只想要按日期排序的前两位投票最多的评论(_id)


我不知道如何实现这一点。

您可以使用
猫鼬填充选项来定制您的填充。在这种情况下,
将其限制为2

试试这个:

Post
  .find({})
  .limit(50)
  .populate('author')
  .populate({ 
      path :'comments',
      options : {
        sort: { votes: -1 },
        limit : 2
      }
  });
如果需要更多的自定义,您可以同时使用
mongoose查询条件
(选择、匹配、模型、路径等)和
选项


阅读了解更多详细信息。

谢谢,这很有效:
Post.find({}).limit(50).populate('author').populate({path:'comments',options:{sort:{votes:-1},limit:2})
Post
  .find({})
  .limit(50)
  .populate('author')
  .populate({ 
      path :'comments',
      options : {
        sort: { votes: -1 },
        limit : 2
      }
  });