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 回答