前言
本篇为mongodb篇,包含实例演示,mongodb高级查询,mongodb聚合管道,python交互等内容。
mongoDB的优势
易扩展
大数据量,高性能
灵活的数据模型
安装与启动
安装mongodb:
安装可视化管理界面:
查看帮助:
启动服务:
停止服务:
重启服务:
查看进程:
配置文件的位置:
默认端口:27017
日志的位置:
mongodb数据库操作
数据库操作
查看当前的数据库:
查看所有的数据库:
切换数据库:
删除当前的数据库:
集合操作
当集合不存在时,插入任何一条数据集合自动创建。
或者手动创建集合:
其中options:
当集合存在时:
查看集合:
删除集合:
mongodb数据类型
Object ID:
String:
Boolean:
Integer:
Double:
Arrays:
Object:
Null:
Timestamp:
Date:
注意点:
mongodb数据操作
新增
插入数据(字段_id存在就报错):
插入数据(字段_id存在就更新):
举个栗子:
查询
查询数据:
举个栗子:
更新
更新数据:
举个栗子:
可以看到单单使用更新数据会导致原有数据被新数据替换,所以我们应该搭配使用,指定更新对应的键值。
举个栗子:
更新多条数据:
举个栗子:
注意: 即只要和搭配使用时才能起效。
删除
删除数据:
举个栗子:
mongodb高级查询
mongodb查询方法
查询文档:
查询一条数据:
格式化查询:
举个栗子:
mongodb的比较运算符
等于:如上述栗子
大于: ( greater than )
大于等于: ( greater than equal )
小于: ( less than )
小于等于: ( less than equal )
不等于: ( not equal )
举个栗子:
mongodb逻辑运算符
and:在条件文档中写入多个字段条件即可
or:使用
举个栗子:
mongodb范围运算符
使用与判断是否在某一范围内
举个栗子:
mongodb使用正则表达式
使用或编写正则表达式
举个栗子:
mongodb分页与跳过
查询前n条数据:
跳过n条数据:
举个栗子:
mongodb自定义查询
使用自定义查询,这里使用的是js语法
举个栗子:
mongodb投影
投影:在查询结果中只显示你想要看到的数据字段内容。
想显示的字段设置为1,不想显示的字段不设置,而_id这个字段比较特殊,想要他不显示需要设置_id为0。
mongodb排序
排序:
将需要排序的字段设置值:升序为1,降序为-1
举个栗子:
mongodb计数
统计数目:
举个栗子:
mongodb去重
去重:
举个栗子:
mongodb管道与聚合
聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。
用法:
常用管道:
常用表达式:
聚合之$group
group:将文档进行分组以便于统计数目
用法:表示分组依据,
举个栗子:
聚合之$project
project:修改输入文档的结构,如:重命名,增加、删除字段等
举个栗子:
聚合之$match
match:用于过滤数据,只输出符合条件的文档,功能和find类似,但是match是管道命令,能将结果交给后一个管道,但是find不可以。
举个栗子:
聚合之$sort
sort:将输入文档排序后输出
举个栗子:
聚合之$limit与$skip
limit:限制聚合管道返回的文档数
skip:跳过指定数量的文档数,返回剩下的文档
举个栗子:
聚合之$unwind
unwind:将文档中的某一个数组类型字段拆分成多条, 每条包含数组中的一个值
举个栗子:
聚合使用注意事项
对应的字典中有几个键,结果中就有几个键
分组依据需要放到后面
取不同的字段的值需要使用$,,
取字典嵌套的字典中的值的时候
能够同时按照多个键进行分组
mongodb索引
用法:
创建唯一索引:
创建唯一索引并消除:
建立联合索引:
查看当前集合的所有索引:
删除索引:
mongodb数据备份与恢复
mongodb数据备份
备份:
mongodb数据恢复
恢复:
mongodb与python交互
安装与导入
安装:
导入模块:
实例化
实例化对象以链接数据库,连接对象有host,port两个参数。
插入数据
插入单条数据:返回ObjectId
插入多条数据:
查询数据
查询单条数据:
查询多条数据:
更新数据
更新一条数据:
更新全部数据:
删除数据
删除一条数据:
删除符合条件的数据:
尾言
以上就是关于mongodb的一些用法,重点部分还是mongo高级查询以及聚合管道,一定要review几遍才记得住,本篇是python数据库交互的最后一篇,希望对你有所帮助。
领取专属 10元无门槛券
私享最新 技术干货