我想更新通过某些条件的文档中的值。在我的情况下,数组“ Orders”包含几个对象,每个对象包含特定的对象“ PendingDetails”,这是我要修改的字符串字段“ State”。
标准为:用户名:“ Pablo.Lobo@gmail.com”; PendingDetails.State:“不为空”,“存在”
F
预期结果是,PendingDetails.State节中Order中的每个对象至少存在“ 123”且不为空
问题在于值没有改变
答案 0 :(得分:0)
尝试做
db.getCollection('users').updateMany(
{
"Username" : "Pablo.Lobo@gmail.com",
"Orders": { $elemMatch: { "PendingDetails.State": { $exists: true, $ne: null } } }
},
{ $set: { "Orders.$.PendingDetails.$.State" : "123" } }
)