MongoDB与python的交互
1.安装
先安装需要用到对应的库(在cmd中输入):
pip install pymongo -i https://pypi.douban.com/simple
2.连接
conn = py.mongo.MongoClient() # 默认连接到本地的mongo
conn = pymongo.MongoClient('127.0.0.1','27017') ip地址 端口号
一.交互
下面展示一些 内联代码片
。
;
import pymongo
# 1.连接到mongodb数据库(相当于在命令行输入mongo)
conn = pymongo.MongoClient() # 连接对象
# 2.切换选择数据库
print(conn.list_database_names())
#输出结果(这是我的数据库):['admin', 'config', 'demo', 'hbl', 'local']
# 2.1 选择数据库
db = conn.get_database('hbl')
# 2.2
db1 = conn['hbl']
# 3.查看当前数据库下有哪些表
print(db.list_collection_names())
# 输出结果(这是我hbl数据库中所有的表):['test', 'stu2', 'test2', 'stu1']
# 4.选择表 插入数据
# 插入一条数据
#db.get_collection('stu1').insert_one({'time':'2023年10月16日'})
# 插入多条数据
# db['stu1'].insert_many([{'name':'jack'},{'age':20}])
# 5.往hbl数据库下的stu1表中插入一条数据
conn['hbl']['stu1'].insert_one({'name':'jake'})
# 6.输出hbl表中所有数据
res = conn['hbl']['stu1'].find()
print(res)
for i in res:
print(i)
二.面向对象实现
以下是用面向对象写出的代码实现
import pymongo
class MongoDB_spider21():
def __init__(self):
# 连接数据库
self.conn = pymongo.MongoClient()
# 切换数据库 选择操作的表
self.db = self.conn['hbl']['stu1']
# 插入一条数据
def add_one(self,k):
self.db.insert_one(k)
# 插入多条数据
def add_many(self,k):
self.db.insert_many(k)
# 查询所有数据
def get_many(self):
res = self.db.find()
return res
# 修改一条数据
def update_ong(self, old, new):
self.db.update_one(old,new)
def update_many(self, old, new):
self.db.update_many(old,new)
# 删除一条数据
def delete_one(self, k):
self.db.delete_one(k)
# 删除多条数据
def delete_many(self, k):
self.db.delete_many(k)
if __name__ == '__main__':
# 创建对象
m = MongoDB_spider21()
# 调用 插入一条
m.add_one({'name':'韩雪'})
# 插入多条
m.add_many([{'name':'韩雪'},{'age':20}])
# 查询数据
r = m.get_many()
# print(r) # <pymongo.cursor.Cursor object at 0x0000016EEF653F98>
for i in r:
print(i)
# 修改一条数据
m.update_ong({'name':'jack'},{'$set':{'name':'杰克'}})
# 修改多条数据
m.update_many({'name':'杰克'},{'$set':{'name':'jack'}})
# 删除一条数据
m.delete_one({'name':'jack'})
# 删除多条数据
m.delete_many({'name':'jack'})