MongoDB 查询和投影运算符

30 Dec 2024 | 7 分钟阅读

MongoDB 查询运算符包括比较、逻辑、元素、求值、地理空间、数组、按位和注释运算符。

MongoDB 比较运算符

$eq

$eq 指定相等条件。它匹配字段值等于指定值的文档。

语法

示例

上面的示例查询 books 集合,以选择价格字段值等于 300 的所有文档。

$gt

$gt 选择字段值大于指定值的文档。

语法

示例

$gte

$gte 选择字段值大于或等于指定值的文档。

语法

示例

$in

$in 运算符选择字段值等于指定数组中任何值的文档。

语法

示例

$lt

$lt 运算符选择字段值小于指定值的文档。

语法

示例

$lte

$lte 运算符选择字段值小于或等于指定值的文档。

语法

示例

$ne

$ne 运算符选择字段值不等于指定值的文档。

语法

示例

$nin

$nin 运算符选择字段值不在指定数组中或不存在的文档。

语法

示例

MongoDB 逻辑运算符

$and

$and 运算符在数组上执行逻辑 AND 运算。该数组应包含一个或多个表达式,并选择满足数组中所有表达式的文档。

语法

示例

$not

$not 运算符对指定的表达式执行逻辑 NOT 运算,并选择与该表达式不相关的文档。

语法

示例

$nor

$nor 运算符对一个或多个查询表达式的数组执行逻辑 NOR 运算,并选择所有查询表达式均失败的文档。

语法

示例

$or

它对两个或多个表达式的数组执行逻辑 OR 运算,并选择满足至少一个表达式的文档。

语法

示例

MongoDB 元素运算符

$exists

当 Boolean 值为 true 时,exists 运算符匹配包含该字段的文档。它还会匹配字段值为 null 的文档。

语法

示例

$type

type 运算符选择字段值为指定 BSON 类型实例的文档。

语法

示例

MongoDB 求值运算符

$expr

expr 运算符允许在查询语言中使用聚合表达式。

语法

示例

$jsonSchema

它匹配满足指定 JSON Schema 的文档。

语法

$mod

mod 运算符选择字段值除以除数后余数为指定值的文档。

语法

示例

$regex

它为查询中的模式匹配字符串提供正则表达式功能。 MongoDB 使用与 Perl 兼容的正则表达式。

语法

示例

$text

$text 运算符在字段内容上搜索文本,并使用文本索引进行索引。

语法

示例

$where

"where" 运算符用于将包含 JavaScript 表达式的字符串或完整的 JavaScript 函数传递给查询系统。

示例

MongoDB 地理空间运算符

$geoIntersects

它仅选择那些地理空间数据与给定 GeoJSON 对象相交的文档。

语法

示例

$geoWithin

geoWithin 运算符选择地理空间数据完全存在于指定形状内的文档。

语法

$near

near 运算符定义一个点,地理空间查询从近到远返回文档。

语法

示例

$nearSphere

nearsphere 运算符指定一个点,地理空间查询从最近到最远返回文档。

语法

示例

$all

它选择字段值为包含所有指定元素的数组的文档。

语法

示例

$elemMatch

该运算符关联包含数组字段的文档,该字段至少包含一个与所有给定查询条件匹配的元素。

语法

示例

$size

它选择任何具有参数指定的元素数量的数组。

语法

MongoDB 按位运算符

$bitsAllClear

它匹配查询给出的所有位位置在 infield 中清除的文档。

语法

示例

$bitsAllSet

bitallset 运算符匹配查询给出的所有位位置都在字段中设置的文档。

语法

示例

$bitsAnyClear

bitAnyClear 运算符匹配查询给出的任何位位置在字段中清除的文档。

语法

示例

$bitsAnySet

它匹配查询给出的任何位位置都在字段中设置的文档。

语法

示例

MongoDB 注释运算符

$comment

$comment 运算符将注释与任何采用查询谓词的表达式相关联。

语法

示例

MongoDB 投影运算符

$

$ 运算符限制查询结果中数组的内容,使其仅包含与查询文档匹配的第一个元素。

语法

$elemMatch

使用此运算符从查询结果中限制的数组字段内容仅包含与元素 $elemMatch 条件匹配的第一个元素。

语法

$meta

meta 运算符返回每个匹配文档的结果,其中包含与查询关联的元数据。

语法

示例

$slice

它控制查询返回的数组中的值数量。

语法

示例