Mongoose: 在单个调用中执行多个查询的 populate 操作
- 论坛
- Mongoose: 在单个调用中执行多个查询的 populate 操作
8 浏览
Mongoose: 在单个调用中执行多个查询的 populate 操作
在Mongoose中,我可以使用查询populate来在查询之后填充额外的字段。我还可以填充多个路径,例如:
Person.find({}) .populate('books movie', 'title pages director') .exec()
然而,这将生成一个查找book以获取title、pages和director字段的查询,还将生成一个查找movie以获取title、pages和director字段的查询。我想要的是只从books中获取title和pages,并从movie中获取director。我可以这样做:
Person.find({}) .populate('books', 'title pages') .populate('movie', 'director') .exec()
这样可以得到我期望的结果和查询。
但是有没有办法以类似第一个示例的“单行”语法来实现第二个示例的行为呢?原因是我想要以编程方式确定populate函数的参数并将其提供给它。我无法为多个populate调用做到这一点。