MongoDB 简明教程

MongoDB 查询操作符

1. 查询操作符简介

在 MongoDB 中,查询操作符用于增强 find() 等方法的筛选能力。通过使用这些操作符,你可以执行比简单等值匹配更复杂的搜索,例如范围查询、逻辑组合或模式匹配。

2. 比较操作符 (Comparison Operators)

比较操作符允许你将文档中的字段值与指定值进行对比。

操作符描述
$eq匹配等于指定值的各个值。
$ne匹配所有不等于指定值的各个值。
$gt匹配大于指定值的各个值。
$gte匹配大于或等于指定值的各个值。
$lt匹配小于指定值的各个值。
$lte匹配小于或等于指定值的各个值。
$in匹配数组中指定的任何值。
$nin不匹配数组中指定的任何值。

3. 逻辑操作符 (Logical Operators)

逻辑操作符用于连接多个查询条件,从而缩小或扩大搜索范围。

操作符描述
$and用逻辑“与”连接查询子句,返回符合所有条件的文档。
$or用逻辑“或”连接查询子句,返回符合任一条件的文档。
$not反转查询表达式的效果,返回不符合条件的文档。
$nor用逻辑“非或”连接查询子句,返回不符合所有条件的文档。

4. 元素操作符 (Element Operators)

元素操作符用于根据字段的存在性或数据类型来筛选文档。

操作符描述
$exists匹配具有指定字段的文档。
$type如果字段属于指定的 BSON 类型,则选择该文档。

5. 评估操作符 (Evaluation Operators)

评估操作符允许你对文档的整体结构或特定字段执行更高级的评估。

操作符描述
$regex选择值与指定的正则表达式匹配的文档。
$text执行文本搜索。
$where匹配满足 JavaScript 表达式的文档。

6. 数组操作符 (Array Operators)

专门用于查询数组字段的操作符。

操作符描述
$all匹配包含查询中指定的所有元素的数组。
$elemMatch如果数组字段中的元素符合所有指定的查询条件,则选择该文档。
$size如果数组字段具有指定的大小,则选择该文档。