首页 > 解决方案 > 即使 {new:true} 已通过 findOneAndUpdate 也会返回旧文档

问题描述

const query = { uuid: '12212121212112' };
const values = { $set: {name:'av'} };
const result = await databaseConnection.collection('person');
let data = await result.findOneAndUpdate(query, values, { new: true });
console.log(data) //old document getting printed

这是我的代码。在这里,我正在使用{new: true}但不知何故它仍然返回旧文档而不是更新的文档。

配置是-

 "mongodb": "^3.5.7",
 "mongoose": "^5.9.17",

节点版本-v14.17.3

这有什么问题?

PS-在另一个具有相同配置的项目中,它工作正常。

标签: mongodbmongoose

解决方案


试试这个方法...

let result = await db1.updateOne({ _id: 'XXXXXXXXX' }, { $set: { name: 'My name' } }, { returnNewDocument: true });
    console.log(result.data.value) //new document getting printed

还要检查这个工作示例

https://mongoplayground.net/p/hJgsH7V0Mps


推荐阅读