在 Mongoose 中,我可以使用查询填充来在查询后填充其他字段。我还可以填充多个路径,例如
Person.find({})
.populate('books movie', 'title pages director')
.exec()
然而,这将生成对书籍的查找,收集标题、页数和导演的字段,也会生成对电影的查找,收集标题、页数和导演的字段。我想要的是仅从书籍中获取标题和页面,从电影中获取导演。我可以做这样的事情:
Person.find({})
.populate('books', 'title pages')
.populate('movie', 'director')
.exec()
这给了我预期的结果和查询。
但是有没有办法使用与第一个片段类似的“单行”语法来实现第二个片段的行为?原因是我想以编程方式确定填充函数的参数并将其输入。我无法对多个填充调用执行此操作。
在研究了猫鼬的源代码后,我用以下方法解决了这个问题:
var populateQuery = [{path:'books', select:'title pages'}, {path:'movie', select:'director'}];
Person.find({})
.populate(populateQuery)
.execPopulate()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)