[英]Best Practice, how to get info from a reference field in mongoose?
我有一個模式用戶,它有一個類型為mongoose.Schema.Types.ObjectId
的字段管理器,它將管理器的 id 從另一個具有有關管理器的其他信息的模式中放置。 當我想將經理名稱放在調用用戶模式的結果中時,我使用如下的 for 循環:
const res = await axios.get('/api/users/all');
const config = {
headers: {
'Content-Type': 'application/json',
},
};
//adding planner name to the data
for (let element of res.data) {
element.plannerName = await axios.post(
'/api/planners/plannerName',
{ id: element.planner },
config
);
}
這可行,但我覺得這是一個緩慢的解決方案。 我是這個領域的新手,我想知道這是否是完成此類任務的最佳實踐。 謝謝!
您正在尋找的是數據庫語言中的join
。
您必須將用戶集合與經理集合一起加入。 為此,您可以在查找后使用populate()
function。
這是代碼:
let users = await User.find({}).populate('manager');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.