猫鼬更新对象数组中匹配条件的元素的值
Posted
技术标签:
【中文标题】猫鼬更新对象数组中匹配条件的元素的值【英文标题】:mongoose update value in array of objects at elements that match a condition 【发布时间】:2021-09-23 21:46:45 【问题描述】:我有一个模式,每个模式都包含一个看起来像这样的数组:
path:[
null,
_id: AAAAA, name: name1,
_id: BBBBB, name: name2,
_id: CCCCC, name: name3
]
(第一个元素始终为空,长度未知且值看起来不像这样)
我想更改这些数组中每个元素的“名称”属性如果“_id”属性等于一个变量。
我无法做到这一点,我们将不胜感激!
【问题讨论】:
你可以使用这个操作符:docs.mongodb.com/manual/reference/operator/update/… @CuongLeNgoc 嘿,谢谢,这对我有用,介意将其发布为答案以便我接受吗? 我认为它已在其他问题中得到回答,因此没有必要重复回答。 【参考方案1】:回答任何寻找相同事物的人:
Item.updateMany("path._id": update._id,
$set: 'path.$[element].name': update.newName ,
arrayFilters: [ 'element._id': mongoose.Types.ObjectId(update._id) ]
)
【讨论】:
以上是关于猫鼬更新对象数组中匹配条件的元素的值的主要内容,如果未能解决你的问题,请参考以下文章