我有一个具有以下结构的文档:
{
codeId: 1,
generatedCodes: [
{
name: 'Code 1',
status: 'In Progress'
},
{
name: 'Code 2',
status: 'In Progress'
},
{
name: 'Code 3',
status: 'In Progress'
}
]
}
我正在尝试通过使用以下代码来更新每个对象的status
属性:
db.codes.update({codeId: id}, {$set: {'generatedCodes.$[].status': 'Validated'}}, {multi: true})
但是所有数组项都没有获得新的status
...
答案 0 :(得分:1)
我只是运行以下命令,它就起作用了:
db.getCollection('yourCollection').update({codeId: 1}, {$set: {'generatedCodes.$[].status': 'Validated'}}, {multi: true})
与您的代码唯一的不同是我将{codeId:id}更改为{codeId:1}
,因此请确保您传递正确的ID。