【发布时间】:2022-01-14 18:33:42
【问题描述】:
我一直在尝试使用 findOneAndUpdate() 方法更新 Mongodb 文档中的特定对象,但没有任何运气。这就是我的收藏的样子
{
_id: new ObjectId("61da0ab855483312e8f4483b"),
products: [
{
createdAt: 2022-01-08T22:05:44.635Z,
_id: new ObjectId("61da0ab855483312e8f4483c"),
productCode: 'otf',
productName: 'facebookmeta',
claims: [Array],
permissions: []
},
{
createdAt: 2022-01-08T22:05:44.635Z,
_id: new ObjectId("61da0ab855483312e8f4483f"),
productCode: '4pf',
productName: 'twitteroauth',
claims: [Array],
permissions: [Array]
}
],
__v: 0
}
当我尝试这样的事情时。我正在尝试根据其产品代码查找单个对象并更新该对象
ProductModel.findOneAndUpdate({productCode: userData.productCode}, dataToBeUpdated, {new: true})
它返回一个
Performing an update on the path '_id' would modify the immutable field '_id
我怀疑 MongoDB 正在对集合应用查询条件并返回匹配文档的结果,因此它可能返回两个对象,这可能是我遇到错误的原因,但我可能是错误的。
如何有效地将其指向正确的对象并执行更新
【问题讨论】:
标签: javascript node.js mongodb mongoose odm