$[]¶3.6版的新功能。
all位置运算符$[]指示update运算符应修改指定数组字段中的所有元素。
该$[]经营者具有下列形式:
用于更新操作(例如db.collection.update()和
db.collection.findAndModify())来修改一个或多个查询条件匹配的文档的所有数组元素。例如:
有关示例,请参见更新数组中的所有元素。
考虑students包含以下文档的集合:
要为集合中的所有文档增加grades数组中的所有元素10,请使用all位置$[]
运算符:
全位置$[]运算符充当数组字段中所有元素的占位符。
操作后,students集合包含以下文档:
该$[]位置操作方便的更新包含嵌入文档数组。要访问嵌入文档中的字段,请在运算符上使用点符号$[]。
考虑students2包含以下文档的集合:
要修改数组中std所有元素的字段
值grades,请使用位置$[]运算符:
操作后,集合具有以下文档:
考虑results包含以下文档的集合:
递增中的所有元素grades由阵列10的所有文件,除了那些值100中grades
阵列中,使用所有的位置$[]操作者:
全位置$[]运算符充当数组字段中所有元素的占位符。
操作后,students集合包含以下文档:
$[<identifier>]的$[]位置操作,在与过滤器结合
$[<identifier>]的位置操作者可以被用于更新嵌套阵列。
students3使用以下文档创建一个集合:
要更新所有大于或等于8嵌套grades.questions数组中的值,无论如何type: