Python操作MongoDB的方法
from pymongo import MongoClient
from bson.objectid import ObjectId
class Mongo_DB:
def __init__(self):
conn = MongoClient('xxx.xx.241.245', 27017)
db = conn.test
db.authenticate("", "mongo")
self.my_set = db.stu
def insert_data(self, data):
if isinstance(data, dict):
result = self.my_set.insert_one(data)
print(result.inserted_id)
elif isinstance(data, list):
result = self.my_set.insert_many(data)
print(result.inserted_ids)
else:
print("参数类型error")
def delete_data(self, data):
if data is not None:
if isinstance(data, dict):
if "_id" in data.keys():
data["_id"] = ObjectId(data["_id"])
results = self.my_set.delete_many(data)
print(results.deleted_count)
else:
print("参数类型error")
pass
def update_data(self, query, data):
if data is not None:
if isinstance(data, dict) and isinstance(query, dict):
if "_id" in data.keys():
data["_id"] = ObjectId(data["_id"])
results = self.my_set.update_many(query, {"$set": data})
print(results.modified_count)
else:
print("参数类型error")
pass
def query(self, data=None):
ObjectId("5fdd97fbdef9c0f43bc9e7e9")
if data is not None:
if isinstance(data, dict):
if "_id" in data.keys():
data["_id"] = ObjectId(data["_id"])
results = self.my_set.find(data)
print(list(results))
else:
print("参数类型error")
elif data is None:
results = self.my_set.find()
for result in results:
print(result)
if __name__ == '__main__':
MD = Mongo_DB()
myquery = {"_id": "5fdd97fbdef9c0f43bc9e7e9"}
MD.delete_data(myquery)
MD.query(myquery)