前言
本篇博客会记录MongoDB中所有操作符相关的信息,以备后续查询之需。
对于比较简单的操作符,仅做记录,不做详细解释。
当前使用MongoDB文档版本为4.4,地址:MongoDB官方文档
MongoDB操作符
查询操作符
比较查询操作符(Comparison Query Operators)
- $eq: 等于
- $ne: 不等于
- $gt: 大于
- $gte: 大于等于
- $lt: 小于
- $lte: 小于等于
- $in: 在列表
- $nin: 不在列表
逻辑查询操作符(Logical Query Operators)
- $and: 与
- $or: 或
- $not: 非
- $nor: 与任何一个条件都不匹配
元素查询操作符(Element Query Operators)
- $exists: 匹配文档中的某个字段是否存在
- $type:选择某个字段为某种特定类型的文档
评估查询操作符(Evaluation Query Operators)
- $expr: 允许在查询中使用聚合函数
- $jsonSchema: 校验文档是否与给定的JSON格式一致
- $mod: 对数值类型字段进行取模运算
- $regex: 通过正则表达式筛选文档
- $text: 执行文本搜索
- $where: 通过JavaScript表达式匹配文档
地理空间查询操作符(Geospatial Query Operators)
- $geoIntersects:
- $geoWithin:
- $near:
- $nearSphere:
- $box:
- $center:
- $centerSphere:
- $geometry:
- $maxDistance:
- $minDistance:
- $polygon:
- $uniqueDocs:
不了解,先不总结。具体可看官网地理空间查询操作符
数组查询操作符(Array Query Operators)
- $all: 判断所有元素是否都满足指定的查询条件
- $elemMatch: 遍历数组中的每个元素,如果元素的字段匹配所有的条件
- $size: 筛选数组长度为size的文档
按位查询操作符(Bitwise Query Operators)
- $bitsAllClear:
- $bitsAllSet:
- $bitsAnyClear:
- $bitsAnySet:
不了解,先不总结。
投影操作符(Projection Operators)
- $(projection): 查看数组中第一个符合条件的元素
- elemMatch等效
- $slice(projection): 指定查询结果的元素的数量
其他查询操作符(Miscellaneous Query Operators)
- $comment: 添加一个注释作为查询谓语
- $rand: 随机生成一个0到1之间的浮点数
更新操作符(Update Operators)
字段更新操作符(Field Update Operators)
- $currentDate: 设置字段的值为当前日期
- $inc: 在字段的值基础上自增,增量可以指定
- $min: 仅更新此字段的值小于给定值的字段
- $max: 仅更新此字段的值大于给定值的字段
- $mul: 将此字段的值乘以一个给定的数值
- $rename: 重命名一个字段
- $set: 设置文档中字段的值
- $setOnInsert: 在insert时,可以为新文档扩展更多field
- $unset: 从文档中删除一个字段
数组更新操作符(Array Update Operators)
- $: 作为更新数组时符合查询条件的第一个元素的占位符
- $[]: 作为更新数组时符合条件的全部元素的占位符
- $[<identifier>]: 作为更新数组时所有条件都满足arrayFilters的全部元素的占位符
- $addToSet: 仅当元素不存在时添加元素到数组
- $pop: 删除第一个或者最后一个元素
- $pull: 删除数组中所有符合查询条件的元素
- $push: 添加一个元素到数组
- $pullAll: 删除数组中所有元素
- push和$addToSet操作符时,添加多个元素
- push操作符时,在指定位置添加元素
- push操作符时,限制所更新数组的大小
- push操作符时,对数组中的元素重新排序
按位更新操作符(Bitwise Update Operator)
- $bit: 执行按位与、或、异或更新整数
网友评论