ничего не обновляет. запрос выдает matchedCount 19, а modifiedCount в итоге 0
сли запрос выполняется без ошибок, но при этом modifiedCount равен 0, это может означать, что вам необходимо обновить документы, которые соответствуют фильтру, переданному в первом параметре функции updateMany.
Проверьте, что ваш фильтр правильно выбирает документы, которые должны быть обновлены. Можно также попробовать выполнить запрос с использованием метода find вместо updateMany, чтобы проверить, соответствует ли ваш фильтр документам, которые вы хотите изменить.
Также обратите внимание на наличие индексов на полях, которые вы используете для фильтрации. Отсутствие индекса может замедлить выполнение запроса и привести к тому, что изменения не будут внесены в документы.
Если вы все еще столкнулись с проблемой, попробуйте добавить параметр { multi: true } в вызов updateMany, чтобы обновить все соответствующие документы:
db.collection.updateMany(
{ /* ваш фильтр */ },
{ $set: { "someArray.$[last].field": "value" } },
{
arrayFilters: [ { "last": { $eq: { $arrayElemAt: [ "$someArray", -1 ] } } } ],
multi: true
}
)