一、python和mongodb的交互
第一步 安装模块
pip install pymongodb
第二步 使用
(1) 导入模块:import pymongo
(2) 连接mongodb:
mongo_client = pymongo.MongoClient() 或者: mongo_client = pymongo.MongoClient(host='127.0.0.1',port=27017)
(3) 增删改查逻辑
然后我们在mongodb终端show dbs,可得:
二、用类的方法(即面向对象)实现增删改查
1、添加一个:
import pymongo
class MongoData():
def __init__(self):
self.client = pymongo.MongoClient(host='127.0.0.1',port=27017)
self.db = self.client['banji']['student']
# 定义添加的方法
def add_one(self,data):
result = self.db.insert_one(data)
print(result)
if __name__ == '__main__':
md = MongoData()
md.add_one({'name':'abc'})
运行之后,我们在mongodb终端查看,可得:
2、添加多个:
import pymongo
class MongoData():
def __init__(self):
self.client = pymongo.MongoClient(host='127.0.0.1',port=27017)
self.db = self.client['banji']['student']
# 定义添加的方法
def add_one(self,data):
result = self.db.insert_one(data)
print(result)
def add_many(self,data):
result = self.db.insert_many(data)
print(result.inserted_ids)
if __name__ == '__main__':
md = MongoData()
#md.add_one({'name':'abc'})
md.add_many([{'x': i} for i in range(2)])
终端结果:
3、查找一个:
import pymongo
class MongoData():
def __init__(self):
self.client = pymongo.MongoClient(host='127.0.0.1',port=27017)
self.db = self.client['banji']['student']
# 定义添加的方法
def add_one(self,data):
result = self.db.insert_one(data)
print(result)
def add_many(self,data):
result = self.db.insert_many(data)
print(result.inserted_ids)
# 定义查询的方法
def get_one(self,query=None):
if query is None:
return self.db.find_one() #find_one返回满足条件的第一个
else:
return self.db.find_one(query)
if __name__ == '__main__':
md = MongoData()
g=md.get_one()
print(g)
h=md.get_one({'x':1})
print(h)
4、查找多个:
遇到Cursor对象,用for循环:
学习的方法: 通过源码找实现的逻辑步骤。



