参考 > 参考 > mongo Shell方法 > 批量操作方法 > Bulk.find.arrayFilters()
Bulk.find.
arrayFilters
(<过滤器文档数组> )¶3.6版的新功能。
确定要为数组字段上的更新操作修改哪些数组元素:
在更新文档中,使用$[<identifier>]
过滤后的位置运算符定义一个标识符,然后在数组过滤器文档中引用该标识符。如果该标识符未包含在更新文档中,则不能具有标识符的数组过滤器文档。
注意
在<identifier>
必须以小写字母开头,并且只包含字母数字字符。
您可以在更新文档中多次包含相同的标识符;但是,对于$[identifier]
更新文档中的每个不同的标识符(),必须精确地指定一个
对应的数组过滤器文档。也就是说,您不能为同一标识符指定多个数组过滤器文档。例如,如果update语句包含标识符x
(可能多次),则不能为以下内容指定以下内容
arrayFilters
:包括2个单独的过滤器文档x
:
但是,您可以在单个过滤器文档中的相同标识符上指定复合条件,例如以下示例:
追加到Bulk.find()
方法以为updateOne()
和
update()
操作指定数组过滤器。