Python MongoDB方法类

该代码定义了一个MongoDBClient类,用于初始化MongoDB连接并提供数据操作接口,包括插入单条/多条数据,查询单条/所有数据,更新单条/多条数据,删除单条/多条数据,以及统计文档数量和字段去重等功能。
摘要由CSDN通过智能技术生成
class MongoDBClient(object):
    def __init__(self, dataset):
        """
        初始化 MongoDB 链接
        :param 数据库的键值:
        :param value:
        """
        self.client = pymongo.MongoClient(MONGODB_URL)
        self.db = self.client.moss
        self.dataset = eval('self.db.{}'.format(dataset + str(time.strftime('%Y%m%d', time.localtime(time.time())))))

    def insert_one(self, value):
        """
        往 MongoDB 数据库中存入一条数据
        :param value: 要插入的数据
        :return: 返回插入数据的 ID
        """
        return self.dataset.insert_one(value).inserted_id

    def insert_many(self, values):
        """
        往 MongoDB 数据库中存入多条数据
        :param values: 要插入的数据列表
        :return: 返回插入数据的 ID 列表
        """
        return self.dataset.insert_many(values).inserted_ids

    def find_one(self, query):
        """
        查询 MongoDB 中符合条件的一条数据
        :param query: 查询条件
        :return: 返回符合条件的一条数据,如果没有则返回 None
        """
        return self.dataset.find_one(query)

    def find(self, query):
        """
        查询 MongoDB 中符合条件的所有数据
        :param query: 查询条件
        :return: 返回符合条件的数据列表,如果没有则返回空列表
        """
        return list(self.dataset.find(query))

    def update_one(self, filter, update):
        """
        更新 MongoDB 中符合条件的一条数据
        :param filter: 查询条件
        :param update: 更新操作
        :return: 返回更新结果的信息
        """
        return self.dataset.update_one(filter, update)

    def update_many(self, filter, update):
        """
        更新 MongoDB 中符合条件的所有数据
        :param filter: 查询条件
        :param update: 更新操作
        :return: 返回更新结果的信息
        """
        return self.dataset.update_many(filter, update)

    def delete_one(self, query):
        """
        删除 MongoDB 中符合条件的一条数据
        :param query: 查询条件
        :return: 返回删除结果的信息
        """
        return self.dataset.delete_one(query)

    def delete_many(self, query):
        """
        删除 MongoDB 中符合条件的所有数据
        :param query: 查询条件
        :return: 返回删除结果的信息
        """
        return self.dataset.delete_many(query)

    def count_documents(self, query=None):
        """
        统计 MongoDB 中符合条件的数据数量
        :param query: 查询条件
        :return: 返回符合条件的数据数量
        """
        return self.dataset.count_documents(query)

    def distinct(self, key, query=None):
        """
        查询 MongoDB 中指定字段的去重值
        :param key: 指定的字段名
        :param query: 查询条件
        :return: 返回去重值列表
        """
        return self.dataset.distinct(key, query)

    def aggregate(self, pipeline):
        """
        对 MongoDB 中的数据进行聚合操作
        :param pipeline: 聚合操作列表
        :return: 返回聚合结果
        """
        return list(self.dataset.aggregate(pipeline))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值