2013-10-11 63 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

相关问题