1

ユーザーマニュアルでは、 update $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 })

ポートに埋め込まれたドキュメントに healthState 列を作成することになっていることを願っています。明確にしてください。

4

0 に答える 0