2 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
const result = fields.reduce((r, path) => r.populate(path), document.findById(id));
或者更詳細(xì)一點(diǎn):
let result = document.findById(id);
for (let i = 0; i < fields.length; i++) {
result = result.populate(fields[i]);
}

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
我不確定這是否是您要找的:
let query = document.findById(id)
for (const field of fields) {
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(' '))
添加回答
舉報(bào)