MongoDB高级查询

未匹配的标注

MongoDB的高级查询

数据查询

  • ⽅法find(): 查询

    db.集合名称.find({条件⽂档})

  • ⽅法findOne():查询,只返回第⼀个

    db.集合名称.findOne({条件⽂档})

  • ⽅法pretty(): 将结果格式化

    db.集合名称.find({条件⽂档}).pretty()

比较运算符

  • 等于: 默认是等于判断, 没有运算符
  • ⼩于:$lt (less than)
  • ⼩于等于:$lte (less than equal)
  • ⼤于:$gt (greater than)
  • ⼤于等于:$gte
  • 不等于:$ne

逻辑运算符

逻辑运算符主要指与、或逻辑

  • and:在json中写多个条件即可
  • or:使⽤$or, 值为数组, 数组中每个元素为json

范围运算符

使⽤$in$nin 判断数据是否在某个数组内

⽀持正则表达式

使⽤//或$regex编写正则表达式

skip和limit

  • ⽅法limit(): ⽤于读取指定数量的⽂档

  • ⽅法skip(): ⽤于跳过指定数量的⽂档

注意:先使用skip在使用limit的效率要高于前者

自定义查询

由于mongo的shell是一个js的执行环境 使⽤$where后⾯写⼀个函数, 返回满⾜条件的数据

投影

在查询到的返回结果中, 只选择必要的字段

命令:db.集合名称.find({},{字段名称:1,...})

参数为字段与值, 值为1表示显示, 值为0不显 特别注意: 对于_id列默认是显示的, 如果不显示需要明确设置为0

排序

⽅法sort(), ⽤于对 集进⾏排序

命令:db.集合名称.find().sort({字段:1,...})

参数1为升序排列 参数-1为降序排列

统计个数

⽅法count()⽤于统计结果集中⽂档条数

命令:db.集合名称.find({条件}).count() 命令:db.集合名称.count({条件})

消除重复

⽅法distinct()对数据进⾏去重

命令:db.集合名称.distinct('去重字段',{条件})

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~