2013-10-11 164 views
0

我有一個查詢過的文檔,我從其他文檔填充。我的問題是是否可以更新引用的文檔,或者是否必須使用id字段爲其他文檔創建新的查詢。MongoDB - 更新引用字段

實施例(在mongoosejs代碼):

Users.findById(id).populate('library.id', null, 'BookModel').exec(function(err, user) 
    user.library.id.loc.coordinates = [40, 20]; 
    user.save(); 
}); 

回答

1

如在該文檔爲populate指出:

的文件從查詢人口成爲全功能的,返回 可拆卸,saveable文件,除非稀選項被指定。做 不會混淆他們與子文檔。調用其刪除 方法時要小心,因爲您將從數據庫中刪除它,而不僅僅是 陣列。

所以是的,你可以直接修改引用的,填充的文檔,並調用save來提交任何更改。但你需要在參考文件上撥打save來做到這一點:

Users.findById(id).populate('library.id', null, 'BookModel').exec(function(err, user) 
    user.library.id.loc.coordinates = [40, 20]; 
    user.library.id.save(); 
}); 
+0

我到處搜索,但由於某種原因,我沒有偶然發現該段落。我仍然不知道如何保存。非常感謝 :) – Damell

相關問題