полез проверять, у меня отработало
{
"_id" : 1,
"obj" : [
{
"_id" : 22,
"field1" : "bla-bla",
"field2" : [
{
"_id" : 33,
"nestedField" : "aaa"
}
]
},
{
"_id" : 66,
"field1" : "bla-bla",
"field2" : [
{
"_id" : 33,
"nestedField" : "bb"
}
]
}
]
}
db.getCollection('nest').update(
{"_id": 1},
{$set: {"obj.$[i].field2.$[j].nestedField": "new value"}},
{arrayFilters: [{"i._id": 22},{ "j._id": 33}]
});