Mongodb 更新数组字段中的特定嵌套文档
Mongodb update a specific nested document in an array field
如何更新 ID 类似于 111
的 discharged
字段?
{
address:'123',
txs:[
{id:'111',discharged:false},
{id:'222',discharged:false}
]
}
解决方案 1
db.collection.update({
address: "123",
"txs.id": "111"
},
{
$set: {
"txs.$.discharged": true
}
})
Sample Mongo Playground for Solution 1
或者
解决方案 2:使用 arrayFilters 和过滤位置运算符
db.collection.update({
address: "123",
},
{
$set: {
"txs.$[tx].discharged": true
}
},
{
arrayFilters: [
{
"tx.id": "111"
}
]
})
如何更新 ID 类似于 111
的 discharged
字段?
{
address:'123',
txs:[
{id:'111',discharged:false},
{id:'222',discharged:false}
]
}
解决方案 1
db.collection.update({
address: "123",
"txs.id": "111"
},
{
$set: {
"txs.$.discharged": true
}
})
Sample Mongo Playground for Solution 1
或者
解决方案 2:使用 arrayFilters 和过滤位置运算符
db.collection.update({
address: "123",
},
{
$set: {
"txs.$[tx].discharged": true
}
},
{
arrayFilters: [
{
"tx.id": "111"
}
]
})