python_爬虫 11 MongoDB数据库
目录
一、在windows 安装 mongodb
1、从服务器下载 mongodb 安装包,这里是的是 zip 的安装包,下载链接: mongodb-windows-x86_64-4.4.6.zip

2、下载之后在文件夹下创建data 文件夹,再进入到解压文件夹下的 bin 文件夹,目录结构如下

3、在bin文件夹下执行命令 mongod -dbpath "D:\mongodb\data" 启动 mongodb 服务,结果如下

4、再打开一个命令行窗口,在bin目录下执行 mongo 连接mongodb 服务。执行 show dbs; 可以看到已经存在的db.MongoDB会默认创建admin、config、local库。

5、新建 mongodb.conf,修改配置文件mongodb.conf的内容如下:

# 端口号,默认为27017
port=27017
# 数据库存放路径
dbpath=D:\mongodb\data
# 日志存放路径
logpath=D:\mongodb\mongodb.log
# 是否追加日志
logappend=true
# 是否启用日志,默认启用
journal=true
# 是否过滤无用日志信息
quiet=true
6.将MongoDB注册成Windows服务
①关闭之前的所有cmd窗口,开启新的管理员cmd,进入MongoDB的bin目录,输入
mongod -config "D:\mongodb\mongodb.conf" --install --serviceName "MongoDB"

②此时可以通过win + r, services.msc的服务列表中,生成了MongoDB的服务,可以设置为开机自启,之后不用每次都手动启动MongoDB
如果想启动和关闭 mongodb 服务, 可以用管理员身份执行如下命令:
启动: net start MongoDB
停止:net stop MongoDB

7、将MongoDB的bin目录配置到path环境变量下,之后就可以在任意处输入 mongo 登录

二、mongodb 概念介绍
| SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
| database | database | 数据库 |
| table | collection | 数据库表/集合 |
| row | document | 数据记录行/文档 |
| column | field | 数据字段/域 |
| index | index | 索引 |
| joins | joins | 表连接, mongodb 不支持 |
| primary key | primary key | 主键,MongoDB 自动将 _id 字段设置为主键 |
三、mongodb 三元素
三元素:数据库、集合、文档
1、文档(document):就是关系数据库中的一行。文档是一个对象,由键值对构成,是 json 的扩展形式。
{ "_id" : ObjectId("60bb738d1b680d63598f15a1"), "username" : "aaa" }
2、集合(collection):就是关系型数据库中的表。可以存储多个文档,结构可以不固定。可以存储如下数据在同一个集合中:
{ "username" : "aaa" }
{ "age" : 17 }
{ "username" : "aaa" , "age" : 17 }
四、mongodb 操纵命令
db : 查看当前的数据库
show dbs: 查看所有的数据库
use 数据库名:切换数据库。如果数据库不存在,创建数据库(创建后要插入数据才算创建成功)
db.集合名.insert(value): 添加数据到指定集合中
db.集合名.find(): 从指定集合中查找数据。

五、python 操作 mongodb
先安装依赖的模块:pip3 install pymongo
import pymongo
# 获取连接 mongodb 对象,默认端口:27017
client = pymongo.MongoClient("127.0.0.1", port=27017)
# 获取数据库(如果没有test这个数据库也没关系)
db = client.test
# 获取数据库中的集合(也就是 mysql 中的表)
collection = db.qa
# 1、insert_one 加入一条文档数据到集合中
collection.insert_one({"username":"aaa"})
# 2、insert_many: 加入多条文档数据到集合中
collection.insert_many([{"username":"a2"},{"username":"a1"}])
# 3、find_one: 查找一条文档对象
res = collection.find_one()
print(res) # {'_id': ObjectId('60bb6e2151ee3420356af4f0'), 'username': 'aaa'}
# 4、find : 查找所有文档对象
cursor = collection.find()
print(res) # <pymongo.cursor.Cursor object at 0x000001F7FEE62BA8>
for d in cursor:
print(d)
# 5、update_one: 更新一条文档对象
collection.update_one({"username":"a1"}, {"$set":{"username":"a1", "age":18}})
# 6、update_many: 更新多条文档对象
collection.update_many({"username":"a1"}, {"$set":{"username":"a1", "age":18}})
# 7、delete_one: 删除一条文档对象
collection.delete_one({"username":"a1", "age":18})
# 8、delete_many: 删除多条文档对象
collection.delete_many({"username":"aaa"})
更多推荐
所有评论(0)