ユーザーマニュアルでは、 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 列を作成することになっていることを願っています。明確にしてください。