我有像myPortCollection这样的文件
{
"_id" : ObjectId("55efce10f027b1ca77deffaa"),
"_class" : "myTest",
"deviceIp" : "10.115.75.77",
"ports" : {
"1/1/x1" : {
"portId" : "1/1/x1",
healthState":"Green"
我试图更新
db.myPortCollection.update({
{ deviceIp:"10.115.75.77"},
{ "chassis.ports.1/1/x10.rtId":"1/1/x10" },
{ $set: { "chassis.ports.1/1/x10.healthState" : "Red" }
})
但是我收到的错误是提到的属性名称是错误的。请帮助正确指定嵌入式地图文档更新的语法。
答案 0 :(得分:0)
"查询"部分错误,因为您将条件拆分为两个文档。它应该是这样的:
db.myPortCollection.update(
{
"deviceIp":"10.115.75.77",
"chassis.ports.1/1/x10.rtId":"1/1/x10"
},
{ "$set": { "chassis.ports.1/1/x10.healthState" : "Red" } }
)
只要查询匹配(问题中未显示有效数据),就会设置或添加指定字段。