Вы можете использовать arrayFilters
для обновления полей в массиве:
вот запрос, который я написал для обновления значений:
db.sample.update(
{},
{
$inc:{
"options.$[options].apples":1
}
},
{
arrayFilters:[
{
"options.no":{
$in:[1,3]
}
}
]
}
)
Вы можете установить свои фильтры в arrayFilters
в соответствии с вашими требованиями.
Подробнее о arrayFilters
читайте здесь .
Надеюсь, это поможет:)