废话不多说直接上代码
from pymongo import MongoClient
import pymongo
class TestMongo:
def __init__(self):
self.mongo_url = 'mongodb://localhost:27017'
self.client = MongoClient(self.mongo_url)
self.db = self.client['test']
self.coll = self.db['practice']
def insert_one(self):
"""
插入一条数据到集合中
:return:
"""
datas = [{'name': f'第{i}个名字', 'age': i} for i in range(100)]
for data in datas:
self.coll.insert_one(data)
def insert_many_data(self):
"""
插入多条数据
:return:
"""
datas = [{'name': f'这是新插入的第{i}个名字', 'age': i} for i in range(10)]
self.coll.insert_many(datas)
def update_data(self, data):
"""
更新一条数据
:return:
"""
self.coll.update_one({'age': data['age']}, {'$set': data})
def update_push_data(self, data):
"""
更新一条数据到列表中
:param data: 需要更新的数据
:return:
"""
self.coll.update_one({"age": data['age']}, {"$push": {"list_domain": data['list_domain']}})
def find_data(self):
"""
查询所有的数据
:return:
"""
return self.coll.find()
def find_condition_data(self, condition=None):
"""
根据条件查询,返回满足条件的数据
:param condition:查询条件
:return:
"""
# condition = {'age': {'$gt': 60}}
return self.coll.find(condition)
def sort_data(self):
"""
排序
:return:
"""
return self.coll.find().sort([('age', pymongo.DESCENDING)]).limit(10)
def delete_filed(self):
"""
删除某个字段;这里删除age为99的info字段
:return:
"""
self.coll.update({'age': 99}, {'$unset': {'info': 1}})
def __del__(self):
self.client.close()
print("数据库关闭连接")