如何填充未在其中引用的模式

时间:2014-07-31 00:55:15

标签: mongodb mongoose

我有博客和评论架构。在评论模式中,正在引用博客ID。现在我有一个功能,列出了索引页面加载时的所有博客,并通过Blog.findById(id).populate(' user',' username')获取它。我还希望能够填充此博客的所有评论,但博客架构中未引用评论。我知道在exec回调中我可以做comment.find(blogid),但这只是单调乏味。我想知道是否有更好的方法来做到这一点。感谢

1 个答案:

答案 0 :(得分:1)

如果您没有引用博客架构中的注释,则无法填充它。 populate仅用于文档中的字段。正如您所说的那样,在_id的回调中使用comment.find获取有关您正在使用的架构的博客Blog.findById的所有评论是最佳选择。

为了提高此流程的效率,请在Comment集合的blogid字段中保留indexdocumentation)。这将使comment.find({blogid:<some blogid>})更有效率,因为索引查询非常快。