美文网首页
六、MongoDB中的操作符

六、MongoDB中的操作符

作者: 转身丶即天涯 | 来源:发表于2021-10-22 10:11 被阅读0次

    前言

    本篇博客会记录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(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: 删除数组中所有元素
    • each: 在使用push和$addToSet操作符时,添加多个元素
    • position: 在使用push操作符时,在指定位置添加元素
    • slice: 在使用push操作符时,限制所更新数组的大小
    • sort: 在使用push操作符时,对数组中的元素重新排序

    按位更新操作符(Bitwise Update Operator)

    • $bit: 执行按位与、或、异或更新整数

    聚合管道阶段(Aggregatioin Pipeline Stages)

    未完待续Aggregation Pipeline Stages

    相关文章

      网友评论

          本文标题:六、MongoDB中的操作符

          本文链接:https://www.haomeiwen.com/subject/bgzfaltx.html