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 限制从数组投影的元素数量。支持跳过和限制切片。