services
全体を渡します (他のすべてのフィールドを含む)to $set
、その結果、services
内にネストされたすべてのフィールドをリセットします 。 を使用して、更新/ドキュメントに追加するデータのみを渡してみてくださいドット表記。
$setドキュメント
言う
db.users.update({"name":"Fabien Rousseau"},{ $set: { "services.cas" : { "external_id" : "fabien.rousseau", "version" : 2 }}})