如何在 JavaScript 中动态链接方法

我正在寻找用 Mongoose 填充文档的各种路径,但我找不到动态链接各种填充方法的方法。一次性检索所有这些字段对于提高性能非常重要。这是代码:


let fields = [path1, path2, ...]


let result = document.findById(id).populate(path1).populate(path2).populate(...)

你们有人知道这样的巫术吗?


富国沪深
浏览 85回答 2
2回答

眼眸繁星

const result = fields.reduce((r, path) => r.populate(path), document.findById(id));或者更详细一点:let result = document.findById(id);for (let i = 0; i < fields.length; i++) {&nbsp; &nbsp; result = result.populate(fields[i]);}

慕的地8271018

我不确定这是否是您要找的:let query = document.findById(id)for (const field of fields) {&nbsp; query = query.populate(field)}const result = await query如果你想使用 ES6 .reduce():const result = await fields.reduce((query, field) => query.populate(field), document.findById(id))编辑:从 mongoose v3.6 你也可以使用.populate(fields.join(' '))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript