mongodb高级查询 | 数据库 |《python学习之路》| python 技术论坛-380玩彩网官网入口
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('去重字段',{条件})