亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 JavaScript 中動態鏈接方法

如何在 JavaScript 中動態鏈接方法

富國滬深 2022-12-22 11:57:55
我正在尋找用 Mongoose 填充文檔的各種路徑,但我找不到動態鏈接各種填充方法的方法。一次性檢索所有這些字段對于提高性能非常重要。這是代碼:let fields = [path1, path2, ...]let result = document.findById(id).populate(path1).populate(path2).populate(...)你們有人知道這樣的巫術嗎?
查看完整描述

2 回答

?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

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++) {

    result = result.populate(fields[i]);

}


查看完整回答
反對 回復 2022-12-22
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

我不確定這是否是您要找的:


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(' '))


查看完整回答
反對 回復 2022-12-22
  • 2 回答
  • 0 關注
  • 84 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號