引用

https://docs.mongodb.com/manual/reference/operator/query/


查询选择器:

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

逻辑选择器

$and 用逻辑联接查询子句AND将返回两个子句都匹配的所有文档。$not 反转查询表达式的效果,并返回与查询表达式不匹配的文档。$nor 用逻辑联接查询子句NOR将返回两个子句均不匹配的所有文档。$or 用逻辑联接查询子句OR将返回符合任一子句条件的所有文档。

元素选择器

$exists 匹配具有指定字段是否存在。$type 匹配字段类型

评估

$expr 允许在查询语言中使用聚合表达式。$jsonSchema 根据给定的JSON Schema验证文档。$mod 对字段的值执行模运算并选择具有指定结果的文档。$regex 选择值与指定的正则表达式匹配的文档。$text 执行文本搜索。$where 匹配满足JavaScript表达式的文档。

地理空间

$geoIntersects 选择与GeoJSON几何形状相交的几何形状。该2dsphere索引支持 $geoIntersects。$geoWithin 选择边界GeoJSON几何内的几何。该2dsphere和2D指标支持 $geoWithin。$near 返回点附近的地理空间对象。需要地理空间索引。该2dsphere和2D指标支持 $near。$nearSphere 返回球体上某个点附近的地理空间对象。需要地理空间索引。该2dsphere和2D指标支持 $nearSphere。

数组

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

按位

$bitsAllClear 匹配其中一组位位置的数值或二进制值都具有值0。$bitsAllSet 匹配其中一组位位置的数值或二进制值都具有值1。$bitsAnyClear 匹配数字或二进制值,其中一组位位置中的任何位的值为0。$bitsAnySet 匹配数字或二进制值,其中一组位位置中的任何位的值为1。

注释

$comment 向查询谓词添加注释。

投影算子

$ 在与查询条件匹配的数组中投影第一个元素。$elemMatch 投影与指定$elemMatch条件匹配的数组中的第一个元素。$meta 投影$text操作期间分配的文档分数。$slice 限制从数组投影的元素数量。支持跳过和限制切片。