在 mongodb 中更改集合对象中的字段
changing field in a set object in mongodb
我在 mongo 中有此文档:
{
id: objectId,
list: [
{
id: internalObjectId1,
enabled: true
},
{
id: internalObjectId2,
enabled: false
}]
}
我需要更改启用字段。我该怎么做?
使用positional $ operator。假设集合中有以下文档,其 list
元素值为嵌入文档数组:
{
"_id" : ObjectId("551be1a04db8a16ac729432e"),
"list" : [
{
"id" : ObjectId("54f43159c922ac0b4387ef9c"),
"enabled" : true
},
{
"id" : ObjectId("54f43159c922ac0b4387ef9d"),
"enabled" : false
}
]
}
下面将54f43159c922ac0b4387ef9d
的id
嵌入文档中enabled
字段的值更新为true
:
db.collection.update(
{
"_id": ObjectId("551be1a04db8a16ac729432e"),
"list.id": ObjectId("54f43159c922ac0b4387ef9d")
},
{
"$set": {"list.$.enabled": true}
}
)
我在 mongo 中有此文档:
{
id: objectId,
list: [
{
id: internalObjectId1,
enabled: true
},
{
id: internalObjectId2,
enabled: false
}]
}
我需要更改启用字段。我该怎么做?
使用positional $ operator。假设集合中有以下文档,其 list
元素值为嵌入文档数组:
{
"_id" : ObjectId("551be1a04db8a16ac729432e"),
"list" : [
{
"id" : ObjectId("54f43159c922ac0b4387ef9c"),
"enabled" : true
},
{
"id" : ObjectId("54f43159c922ac0b4387ef9d"),
"enabled" : false
}
]
}
下面将54f43159c922ac0b4387ef9d
的id
嵌入文档中enabled
字段的值更新为true
:
db.collection.update(
{
"_id": ObjectId("551be1a04db8a16ac729432e"),
"list.id": ObjectId("54f43159c922ac0b4387ef9d")
},
{
"$set": {"list.$.enabled": true}
}
)