このフォームのドキュメントがあります
{
"firstName": "John",
"lastName": "Doe",
"preferences": {
"xxx": true,
"yyy": false,
"zzz": true
}
}
preferences
埋め込みドキュメントの特定のフィールドを更新したいと考えています。$set
次のようにオペランド を使用すると
db.users.update({name: "John"}, {$set: {preferences: {"xxx": false}}})
ドキュメントは完全に置き換えられてpreferences
いるので、これを取得します
{
"firstName": "John",
"lastName": "Doe",
"preferences": {
"xxx": false
}
}
これを手に入れたいと思っている間
{
"firstName": "John",
"lastName": "Doe",
"preferences": {
"xxx": false,
"yyy": false,
"zzz": true
}
}
私は使用できません:
db.users.update({name: "John"}, {$set: {"preferences.xxx": false}})
更新する特定のフィールドがわからないため、preferences
ドキュメントの各フィールドを含む場合と含まない場合があるオブジェクトのみを入力として使用します。