Я пытаюсь обновить вложенный массив с помощью arrayFilters, похоже, он должен работать, в соответствии с документацией, но у меня есть ошибка:
Ошибка анализа массива фильтра: ожидается одно имя поля верхнего уровня,
найдено 'w' и 'd'
запрос выглядит так:
db.getCollection("timesheets").update( {
"year": "2018",
"month": "06" }, {
"$set": {
"workers.$[w].days.$[d]": {
"day": 9,
"month": "06",
"year": "2018",
"isHoliday": false,
"isSaturday": true,
"isSunday": false,
"canEditPlanned": true
}
} }, {
"arrayFilters": [
{
"w._id": "XT5PFAPN9TFY3jXtJ",
"d.day": 9
}
] })