在 Mongoose 中,我可以使用查询填充来在查询后填充其他字段。我还可以填充多个路径,例如
Person.find({})
.populate('books movie', 'title pages director')
.exec()
但是,这将生成对书籍的查找,收集标题、页面和导演的字段 - 还会生成对电影的查找,收集标题、页面和导演的字段。我想要的是仅从书籍中获取标题和页面,从电影中获取导演。我可以做这样的事情:
Person.find({})
.populate('books', 'title pages')
.populate('movie', 'director')
.exec()
这给了我预期的结果和查询。
但是有没有什么办法让第二个片段的行为像第一个片段一样使用类似的“单行”语法?这样做的原因是,我想以编程方式确定 populate 函数的参数并将其输入。对于多个 populate 调用,我不能这样做。