我有博客和评论架构。在评论模式中,正在引用博客ID。现在我有一个功能,列出了索引页面加载时的所有博客,并通过Blog.findById(id).populate(' user',' username')获取它。我还希望能够填充此博客的所有评论,但博客架构中未引用评论。我知道在exec回调中我可以做comment.find(blogid),但这只是单调乏味。我想知道是否有更好的方法来做到这一点。感谢
答案 0 :(得分:1)
如果您没有引用博客架构中的注释,则无法填充它。 populate
仅用于文档中的字段。正如您所说的那样,在_id
的回调中使用comment.find
获取有关您正在使用的架构的博客Blog.findById
的所有评论是最佳选择。
为了提高此流程的效率,请在Comment集合的blogid字段中保留index
(documentation)。这将使comment.find({blogid:<some blogid>})
更有效率,因为索引查询非常快。