实现一个MONGO操作类
时间: 2023-02-06 07:10:49 浏览: 57
下面是一个示例代码,它实现了一个简单的 Mongo 操作类,可以用于连接到 MongoDB 数据库并执行基本的 CRUD 操作:
```python
import pymongo
class MongoOperator:
def __init__(self, host, port, db_name, collection_name):
self.client = pymongo.MongoClient(host, port)
self.db = self.client[db_name]
self.collection = self.db[collection_name]
def insert_one(self, document):
self.collection.insert_one(document)
def insert_many(self, documents):
self.collection.insert_many(documents)
def find_one(self, filter, projection=None):
return self.collection.find_one(filter, projection)
def find(self, filter, projection=None):
return self.collection.find(filter, projection)
def update_one(self, filter, update, upsert=False):
self.collection.update_one(filter, update, upsert=upsert)
def update_many(self, filter, update, upsert=False):
self.collection.update_many(filter, update, upsert=upsert)
def delete_one(self, filter):
self.collection.delete_one(filter)
def delete_many(self, filter):
self.collection.delete_many(filter)
def close(self):
self.client.close()
```
上面的代码中,我们使用了 PyMongo 库来连接到 MongoDB 数据库并操作数据。
使用方法:
```python
# 创建 MongoOperator 实例
operator = MongoOperator('localhost', 27017, 'test_db', 'test_collection')
# 插入一条文档
document = {'name': 'John', 'age': 30}
operator.insert_one(document)
# 插入多条文档
documents = [{'name': 'Mike', 'age': 25}, {'name': 'Alice', 'age': 28}]
operator.insert_many(documents)
# 查询一条文档
result = operator.find_one({'name': 'Mike'})
print(result)
# 查询多条文档
results = operator.find({'age': {'$gt': 26}})
for result in results:
print(result)
# 更新一条文档
operator.update_one({'name': 'Mike'