【问题标题】:How to get object id of updated document in mongoose?如何在猫鼬中获取更新文档的对象ID?
【发布时间】:2018-11-17 03:49:23
【问题描述】:

尝试更新 mongodb 中的一些数据,我需要更新的对象 ID。我试过回调函数,但返回未定义

update(condition, newData, (err, dbData) => console.log(dbData._id));

当控制台 dbData 返回 {n:1, nModified: 1, ok:1} 有没有办法获取对象ID

【问题讨论】:

    标签: node.js mongodb express mongoose


    【解决方案1】:

    您可以使用findOneAndUpdate 方法检索更新的文档,尝试:

    var updated = await Model.findOneAndUpdate(condition, newData, {new: true});
    console.log(updated._id);
    

    或使用回调样式:

    Model.findOneAndUpdate(condition, newData, {new: true}, (err,doc) => console.log(doc._id));
    

    【讨论】:

    • 无论是否更新,这都会返回文档。是否可以仅在更新运行时返回结果?
    • @HarryCramer 好问题,你能再开一个吗,因为它和 OP 想知道的有点不同
    • 我在这里问过这个问题:stackoverflow.com/questions/62506318/…
    • 嗨,看来操作问题是关于可以使用过滤器更新多个文档的更新....我期待 updateMany 返回文档 ID :)
    猜你喜欢
    • 2020-07-31
    • 2022-08-18
    • 2014-05-30
    • 1970-01-01
    • 2020-09-14
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多