,可以通过以下步骤实现:
$elemMatch
运算符来匹配包含目标对象的数组元素。该运算符可用于查询符合多个条件的元素。$set
操作符来更新目标对象的字段值。在 $set
操作符中,使用点操作符来指定要更新的对象字段。$
符号来定位数组中的目标元素,并将其与更新后的对象进行替换。下面是一个示例代码,用于更新数组内数组中的对象:
db.collection.update(
{ <更新条件> },
{ $set: { "array.$[elem].nestedArray.$[innerElem].field": <新值> } },
{ arrayFilters: [ { "elem._id": <elemId> }, { "innerElem._id": <innerElemId> } ] }
)
解释说明:
<更新条件>
:用于指定需要更新的文档条件。"array.$[elem].nestedArray.$[innerElem].field"
:用于指定要更新的目标对象字段路径。<新值>
:用于指定要更新的目标对象字段的新值。arrayFilters
:用于指定数组元素的过滤条件。elem._id
和 innerElem._id
:用于指定过滤条件中的字段和字段值,以定位目标数组元素。注意事项:
db.collection.updateOne()
方法。关于MongoDB更新数组内数组中对象的更多详细信息和示例,请参考腾讯云云数据库MongoDB文档:更新数组内数组中对象。
领取专属 10元无门槛券
手把手带您无忧上云