Python交互之mongoDB交互详解

前言

本篇为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数据库交互的最后一篇,希望对你有所帮助。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180827G0NHBT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券