假设我有一个文档,例如:var doc = Model.findOne({name:"name"});
现在,如果文档通过数据库的另一个连接进行编辑,则 doc 不包含正确的信息。我确实需要它,所以我必须从数据库中“刷新”或“重新下载”它。有什么办法只对对象“doc”执行此操作吗?
最佳答案
假设 doc
包含要刷新的文档实例,您可以这样做以一般地刷新它:
doc.model(doc.constructor.modelName).findOne({_id: doc._id},
function(err, newDoc) {
if (!err) {
doc = newDoc;
}
}
);
但是,最好不要将 Mongoose 文档实例持久化/缓存到您对它们的直接需求之外。缓存您需要快速访问的文档的不可变 _id
,而不是文档本身。
关于javascript - Mongoosejs 刷新文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13961303/