Docs 主页 → 开发应用程序 → MongoDB Manual
查询数组
您可以使用以下方法在 MongoDB 中查询数组:
您的编程语言的驱动程序。
MongoDB Atlas 用户界面。要了解更多信息,请参阅使用 MongoDB Atlas 查询数组。
➤ 使用右上角的 Select your language(选择语言)下拉菜单,设置以下示例的语言或选择 MongoDB Compass。
匹配数组
以下示例查询字段 tags
值是一个数组且恰好有两个元素 "red"
和 "blank"
(按指定顺序)的所有文档:
相反,如果想查找同时包含 "red"
和 "blank"
元素的数组,而不考虑顺序或数组中的其他元素,则请使用 $all
运算符:
查询数组元素
以下示例将查询所有文档,其中 tags
为包含字符串 "red"
以作为其元素之一的数组:
例如,以下操作将查询所有文档,其中数组 dim_cm
至少包含一个其值大于 25
的元素。
为数组元素指定多个条件
在用复合条件查询数组中的元素时,您可以设置查询语句,使单个数组元素满足查询条件或是任意数组元素的组合满足查询条件。
通过对数组元素使用复合筛选条件查询数组
以下示例将查询特定文档,其中 dim_cm
数组包含以某种组合形式可满足查询条件的元素;例如,一个元素可满足大于 15
的条件,而另一元素可满足小于 20
的条件,或是单个元素可同时满足这两个条件:
查询满足多个条件的数组元素
使用 $elemMatch
运算符为数组的元素指定多个条件,以使至少一个数组元素满足所有指定的条件。
以下示例将查询特定文档,其中 dim_cm
数组至少包含一个大于 ($gt
) 22
且小于 ($lt
) 30
的元素:
按数组索引位置查询元素
使用点符号,可以在数组的特定索引或位置为元素指定查询条件。该数组使用从零开始的索引。
注意
使用点表示法查询时,字段和嵌套字段必须放在引号内。
以下示例将查询所有文档,其中数组 dim_cm
中的第二个元素大于 25
:
按数组长度查询数组
使用 $size
操作符以便按元素个数来查询数组。例如,以下示例会选择数组 tags
有 3 个元素的文档。
使用 MongoDB Atlas 查询数组
本部分中的示例使用样本电影数据集。要了解如何将样本数据集加载到 MongoDB Atlas 部署中,请参阅加载样本数据。
要在 MongoDB Atlas 中查询数组,请按照以下步骤操作:
其他查询教程
有关其他查询示例,请参阅: