嗨害大家好鸭!我是芝士❤
一、前言
MongoDB属于 NoSQL(非关系型数据库),
是一个基于分布式文件存储的开源数据库系统。
二、操作 MongoDB
1. 安装 pymongo
python 使用第三方库来连接操作 MongoDB,
所以我们首先安装此库。
pip3 install pymongodb
2. 连接 MongoDB
使用 MongoClient 类连接,
以下两种参数方式都可以:
from pymongo import MongoClient
# 连接方式一
client = MongoClient(host='localhost',port=27017)
# 连接方式二
# client = MongoClient('mongodb://localhost:27017/学习资料无偿领扣扣qun:540305994')
3. 选择数据库
MongoDB 可以创建很多 db,
指定我们需要的 db 即可
# 方式一
db = client.Monitor
# 方式二
# db = client['Monitor']
4. 选择集合
db 内包含很多个集合,
有点类似 mysql 这类关系型数据库中的表
# 方式一
collection = db.test
# 方式二
# collection = db['test']
5. 插入数据
插入一条数据,
MongoDB 每条记录都有一个唯一标识。
返回一个 InsertOneResult 对象,
若需要获取唯一标识,
找到 InsertOneResult 对象的属性 inserted_id 即可
from pymongo import MongoClient
class mongodb:
def __init__(self,host,db,port = 27017):
'''
:param host: str mongodb地址
:param db: str 数据库
:param port: int 端口,默认为27017
'''
host = host
db = db
self.port = port
client = MongoClient(host=host,port=port)
self.db = client[db]
def insert_one(self,table,dic):
'''
:param table: str 数据库中的集合
:param dic: dict 要插入的字典
:return: 返回一个包含ObjectId类型的对象
'''
collection = self.db[table]
rep = collection.insert_one(dic)
return rep
if __name__=='__main__':
dic = {
'姓名':'小明','English':100,'math':90}
db = mongodb(host='localhost',db = 'test')
rep = db.insert_one('test',dic)
print(rep.inserted_id)
插入多条数据,使用 insert_many 批量插入
from pymongo import MongoClient