2

コレクションで

{ _id: 123,
    category: 1,
    desc: 'desc',
    price: 99,
    item: 
     [ { two: '24',
     three: '48' },
       { two: '',
      three:''},
       { two: '33',
      three:'24'},
        ] } ,
{ _id: 121,
    category: 1,
    desc: 'desc',
    price: 99,
    item: 
     [ { two: '24',
     three: '58' },
       { two: '',
      three:''},
       { two: '35',
      three:'54'},
        ] } 

item.two = '24' であるすべてのレコードの値 'two' を null に設定する方法

4

1 に答える 1

3

位置演算子$を使用して、検索クエリに一致する項目配列からドキュメントを更新します。

update({ "item.two" : "24" }, 
       { $set : { "item.$.two" : "" }}, false, true);

配列ドキュメントからこのフィールドを削除する場合は、$unset演算子を使用します。

update({ "item.two" : "25" }, 
       { $unset : { "item.$.two" : "" }}, false, true);
于 2013-11-01T07:44:51.107 に答える