我可以看到更新$ set
的行为如果该字段不存在,$ set将添加具有指定值的新字段,前提是新字段不违反类型约束。如果为不存在的字段指定虚线路径,$ set将根据需要创建嵌入文档,以实现该字段的虚线路径。
如果指定多个字段 - 值对,$ set将更新或创建每个字段。
我正在执行以下
db.cachedNodeChassis.update(
{
"deviceIp":"10.115.75.77",
"chassis.ports.1/1/x10.portId":"1/1/x13"
},
{
"$set": { "chassis.ports.1/1/x13.healthState" : "Red" }
}
)
O / P: WriteResult({“nMatched”:1,“nUpserted”:0,“nModified”:0})
应该在ports嵌入文件中创建healthState列我希望,有人可以澄清一下。