下面是一个使用 Python 和 PyMongo 库连接和操作 MongoDB 数据库的类的示例:
```python import pymongo
class MongoDB: def init(self, host='localhost', port=27017, username=None, password=None): # 建立连接 self.client = pymongo.MongoClient(host=host, port=port) # 如果有用户名和密码,则进行身份验证 if username and password: self.client.admin.authenticate(username, password)
def get_database(self, db_name):
# 获取数据库
return self.client[db_name]
def get_collection(self, db_name, coll_name):
# 获取数据库的集合
return self.client[db_name][coll_name]
def insert_one(self, db_name, coll_name, doc):
# 插入单条文档
return self.client[db_name][coll_name].insert_one(doc)
def insert_many(self, db_name, coll_name, docs):
# 插入多条文档
return self.client[db_name][coll_name].insert_many(docs)
def update_one(self, db_name, coll_name, filter, update):
# 更新单条文档
return self.client[db_name][coll_name].update_one(filter, update)
def update_many(self, db_name, coll_name, filter, update):
# 更新多条文档
return self.client[db_name][coll_name].update_many(filter, update)
def delete_one(self, db_name, coll_name, filter):
# 删除单条文档
return self.client[db_name][coll_name].delete_one(filter)
def delete_many(self, db_name, coll_name, filter):
# 删除多条文档
return self.client[db_name][coll_name].delete_many(filter)
def find_one(self, db_name, coll_name, filter):
# 查询单条文档
return self.client[db_name][coll_name].find_one(filter)
def find(self, db_name, coll_name, filter, projection=None, sort=None, limit=0, skip=0):
# 查询多条文档
cursor = self.client[db_name][coll_name].