MongoDB 查询和投影操作符

查询选择器

比较操作符

想了解不同 BSON 类型值的比较,参见 BSON比较顺序详细说明

  • $eq 匹配跟指定值相等的值
  • $gt 匹配比指定值大的值
  • $gte 匹配比指定值大或者相等的值
  • $lt 匹配比指定值小的值
  • $lte 匹配比指定值小或者相等的值
  • $ne 匹配跟指定值不相等的值
  • $in 匹配在指定数组中的任意值
  • $nin 匹配不在指定数组中的值

逻辑操作符

  • $or 用逻辑 OR 操作符连接查询子句,返回所有匹配任一个条件子句的文档。
  • $and 用逻辑 AND 操作符连接查询子句,返回所有同时匹配两个条件子句的文档。
  • $not 反转查询条件的效果,返回不匹配查询条件的文档。
  • $nor 用逻辑 NOR 操作符连接查询子句,返回两个条件都匹配失败的所有文档。

元素操作符

  • $exists 匹配有指定属性的文档。
  • $type 选择属性是指定类型的文档。

评估操作符

  • $mod 对一个属性的值执行模数运算,选择有指定结果的文档。
  • $regex 选择值匹配指定规则表达式的文档。
  • $text 执行文本搜索。
  • $where 匹配满足一个 JavaScript 表达式的文档。

空间操作符

  • $geoWithin 选择包围 GeoJSON 几何图形 的几何图形。二维球形和二维索引支持 $geoWithin。
  • $geoIntersects 选择与一个 GeoJSON 几何图形 相交的几何图形。二维球形支持 $geoIntersects。
  • $near 返回跟一个点邻近的空间对象。需要一个空间索引。二维球形和二维索引支持 $near。
  • $nearSphere 返回球形上跟一个点邻近的空间对象。二维球形和二维索引支持 $nearSphere。

数组操作符

  • $all 匹配查询中指定的所有元素的数组。
  • $elemMatch 选择那些属性匹配所有 $elemMatch 条件指定的全部属性的数组。
  • $size 选择符合指定属性个数的数组。

位运算操作符

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

注释操作符

$comment 给查询断言添加注释。

投影操作符

  • $ 展现第一个元素匹配查询条件的数组。
  • $elemMatch 展现第一个元素匹配指定的 $elemMatch 条件的数组。
  • $meta 展现 $text 操作中赋值给文档的分数。
  • $slice 限制从一个数组展示的元素的个数。支持 skip 和 limit。