美文网首页
python操作MongoDB执行增删改查

python操作MongoDB执行增删改查

作者: 飞飞飞段啊 | 来源:发表于2019-12-01 15:32 被阅读0次

    废话不多说直接上代码

    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("数据库关闭连接")
    
    

    相关文章

      网友评论

          本文标题:python操作MongoDB执行增删改查

          本文链接:https://www.haomeiwen.com/subject/svizwctx.html