您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python mongodb 基本操作封装

bubuko 2022/1/25 20:04:44 python 字数 2321 阅读 1007 来源 http://www.bubuko.com/infolist-5-1.html

from pymongo import MongoClientclass Database: def __init__(self, address, port, database,user,password): self.client = MongoClient(host=address, port ...
from pymongo import MongoClient


class Database:
def __init__(self, address, port, database,user,password):
self.client = MongoClient(host=address, port=port)
self.db = self.client.admin
self.db.authenticate(user, password, mechanism=‘SCRAM-SHA-1‘)
self.db = self.client[database]

def get_state(self):
return self.client is not None and self.db is not None

def insert_one(self, collection, data):
if self.get_state():
ret = self.db[collection].insert_one(data)
return ret.inserted_id
else:
return ""

def insert_many(self, collection, data):
if self.get_state():
ret = self.db[collection].insert_many(data)
return ret.inserted_id
else:
return ""

def update(self, collection, data):
# data format:
# {key:[old_data,new_data]}
data_filter = {}
data_revised = {}
for key in data.keys():
data_filter[key] = data[key][0]
data_revised[key] = data[key][1]
if self.get_state():
return self.db[collection].update_many(data_filter, {"$set": data_revised}).modified_count
return 0

def find(self, collection, condition, column=None):
if self.get_state():
if column is None:
return self.db[collection].find(condition)
else:
return self.db[collection].find(condition, column)
else:
return None
#查询的结果要打印的话需要用list转一下

def delete(self, collection, condition):
if self.get_state():
return self.db[collection].delete_many(filter=condition).deleted_count
return 0



python mongodb 基本操作封装

原文:https://www.cnblogs.com/fyangq/p/12517190.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶