MongoDB 教程
MongoDB 教程
- MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
- MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB简介
什么是MongoDB?
- MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
- 在高负载的情况下,添加更多的节点,可以保证服务器性能。
- MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
- MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
window安装MongoDB
MongoDB安装包括两部分,一个是将MongoDB的服务下载下来并且安装到自己电脑;
一个是可视化界面(解释:你下了MongoDB服务当然要用起来啊,固然你可以使用命令行的客户端,但是建议你安装MongoDB Compass可视化界面,用起来很方便)
进入页面 https://www.mongodb.com/download-center/community ,我安装这个版本
下载好后的文件:
双击开始安装(以下几步注意,其他全部next):
这里我选择的是自定义安装,选择你想安装到的位置
点击ok,然后点击next 点击之后 新版的Mongodb会主动在安装目录下创建log和data文件,这相比较早期版本有了改善 ,早期需要自己手动创建 但我们仍然需要在data下创建db文件夹 笔者的在C:\MongoDB\data\db(记住一定要再建个db文件夹)
重重之重(下图一定要取消安装,compass客户端可视化界面我会另外下载。你要是选中了,那就是安装了一天也完成不了)
最后安装成功会弹出一个警告框,选中 Ignore 就好
配置环境变量
至此,MongoDB客户端已经安装完毕
由于我们已经创建了C:\MongoDB\data\db文件夹 这里就不需要再创建 否者还要创建 然后在cmd进入C:\MongoDB\bin目录下(在windows资源管理器中shift+右键打开powershell也行)然后执行mongod -dbpath C:\MongoDB\data\db 命令 如下图(这条命令是开启服务,它会一直运行,只要你要使用Mongodb,这个窗口就不能关)
已经启动了MongoDB服务
但是我们需要Mongo.exe这个文件连接到MongoDB数据库,
可是有的版本安装目录bin下并没有mongo.exe这个文件,需要我们手动下载
下载文件是一个压缩包,打开进入bin,把bin目录下的文件解压到本地bin下
执行mongo.exe,回车
自带三个数据库
python连接MongoDB
下载python中MongoDB的驱动程序
pip install pymongo
python操作mongodb
1.连接mongodb
无需权限认证方式
1 | import pymongo |
权限认证方式
1 | import pymongo |
2.指定数据库和集合
1 | 获取数据库 |
3.插入数据
可以使用insert方法插入数据,但在pymongo中,官方推荐使用 insert_one
完成单个数据的写入,insert_many
完成多条数据的插入。
1 | #增加一条 |
4.删除数据
1 | #可以直接使用remove方法删除指定的数据 |
5.修改数据
可以使用update方法修改数据,但在pymongo中,官方推荐使用 update_one
完成单个数据的修改,update_many
完成多条数据的修改。
1 | #update_one,第 2 个参数需要使用$类型操作符作为字典的键名 |
6.查询数据
find()查找全部数据
返回所有满足条件的结果,如果条件为空,则返回全部结果,返回结果是一个Cursor游标可迭代对象。
1 | rets = collection.find({"age":20}), |
1.游标是什么?
用来存储多条查询数据的一种数据结构(’结果集’), 它有一个 ‘指针’,从上往下移动(’fetch’),从而能够 ‘遍历每条记录’
2.优缺点
(1) 提高 sql ‘执行效率’
(2) 牺牲 ‘内存’
find_one()查找一条数据
接收一个字典形式的条件,返回字典形式的整条数据,如果条件为空,则返回第一条。
1 | ret =collection.find_one({'name': 'zhangsan'}) |