$[]
¶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
: