javascript - Mongoosejs 刷新文档

标签 javascript node.js mongodb mongoose

假设我有一个文档,例如: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/

相关文章:

javascript - Video.js 在 iOS 上加载文件时停滞

javascript - Ember.js/ Handlebars : views rendered using {{view}} helper not binding attributes

node.js - 遍历异步函数

javascript - MongoDB 中待处理的 promise

javascript - JQuery 和 onclick 在这种情况下不起作用

javascript - 从 Puppeteer 浏览器/页面上下文中提取 native 界面

javascript - 运行后以编程方式停止nodemon

node.js - Mongoose没有在Namecheap共享托管 Node js应用上建立与数据库的连接

python - MongoDB 在 python 中没有返回结果

mongodb - 使用官方 mongo-go-driver 进行正确的通配符多字段查询