$[]
现在可以通过$[] 操作符 来对数组中的所有元素进行一次性修改了,而且这个修改可以是使用类似$divide 、$sum 等操作符~
$[]
可以通过$[element] 配合 $cond 条件操作符等,来达到对数组的符合条件的元素统一更新。
例子:数据如下
{
name: 4,
list: [{
id: "a",
date: 1504195200000,
other: "c"
},{
id: "b",
date: 1504195200000,
other: "c"
}]
}
现在要把other全部更新为"a",方法如下:
db.getCollection('test').update({'name': 4}, {$set: {'list.$[].other': 'a'}}, {multi: true})
这是mongodb3.6版本的新特性.之前找了很久,没有好的解决方法,3.6版本现在有了!!!