Я хочу обновить значения в документах, которые соответствуют некоторым критериям. В моем случае массив «Orders» содержит несколько объектов, каждый объект содержит определенный объект «PendingDetails», прямо здесь есть строковое поле «State», которое я хотел бы изменить.
Критерии: имя пользователя: "Pablo.Lobo@gmail.com"; PendingDetails.State: "не нуль", "существует"
Структура документа
db.getCollection('users').updateMany(
{
"Username" : "Pablo.Lobo@gmail.com",
"Orders": { $elemMatch: { "PendingDetails.State": { $exists: true, $ne: null } } }
},
{ $set: { "Orders.$.PendingDetails.State" : "123" } }
)
Ожидаемый результат состоит в том, что каждый объект в Order в разделе PendingDetails.State будет иметь "123", по крайней мере, если бы он существовал и не был нулевым
Проблема в том, что значения не меняются