接口自动化_操作Mongo数数据库

接口自动化_操作Mysql数据库

1、安装pymongo库

pip3 install pymongo

2、操作mongo数据库

import pymongo

client=pymongo.MongoClient("mongodb://用户名:密码@ip:27017/")    # 如mongodb://admin:123456@192.168.221.128:27017
# 指定数据库
db = client['albaba']

# 指定集合
collection = db['shops']

# 添加数据,字段:id为3394
collection.insert_one({"id": 3394})

# 查询数据 find_one(),find()
result = collection.find_one({"id": 3394})
# 查询一条id为3394的信息
print(result)

# 查找所有category字段为果蔬生鲜/蔬菜的值
results = collection.find({"category": "果蔬生鲜/蔬菜"})
for one in results:
   print(one)

# 更新数据,把id=3394的数据里的name属性值换成鲜花
collection.update_one(({"id": 3394}, {'$set': {'name': "鲜花"}}))

# 删除数据,删除一条id为3394的数据
collection.delete_one({'id': 3394})
# 删除数据,删除所有category字段值为果蔬生鲜/蔬菜
collection.delete_many({"category": "果蔬生鲜/蔬菜"})

3、封装成类和对应的方法

import pymongo

class MongoDB:
    def __init__(self, user='admin', pwd='123456', ip='1192.168.221.128', port=27017):
        '''
        :param user:用户名
        :param pwd: 密码
        :param ip: ip地址
        :param port: 端口号
        '''
        self.user = user
        self.pwd=pwd
        self.ip=ip
        self.port=port
        self.client = pymongo.MongoClient(f"mongodb://{user}: {pwd}@{ip}:{port}/")


    def insert(self, collection, query, db='albaba'):

        '''
        :param db: 使用的数据库
        :param collection: 使用的集合
        :param query: 添加的信息
        :return:
        '''
        db = self.client[db]
        collection = db[collection]
        collection.insert_one(query)

    def find_one(self, collection, query, db='albaba'):

        '''
        :param db: 使用的数据库
        :param collection: 使用的集合
        :param query: 查询的信息
        :return: 查询结果
        '''
        db = self.client[db]
        collection = db[collection]
        result = collection.find_one(query)
        return result

    def find_all(self, collection, query, db='albaba'):

        '''
        :param db: 使用的数据库
        :param collection: 使用的集合
        :param query: 查询的信息
        :return: 查询返回所有结果
        '''
        db = self.client[db]
        collection = db[collection]
        results = collection.find(query)
        return results

    def update_one(self, collection, myquery, newvalues, db='albaba'):
        '''
        :param db: 使用的数据库
        :param collection: 使用的集合
        :param myquery: 查询的信息
        :param newvalues: 修改的信息
        :return:
        '''
        db=self.client[db]
        collection = db[collection]
        collection.update_one(myquery, {'$set': newvalues})

    def delete_one(self, collection, query, db='albaba'):
        '''
        :param db: 使用数据库
        :param collection: 使用的集合
        :param query: 信息
        :return:
        '''
        db = self.client[db]
        collection = db[collection]
        collection.delete_one(query)

    def delete_all(self, collection, query, db='albaba'):
        '''
        :param db: 使用数据库
        :param collection: 使用的集合
        :param
        query: 信息
        :return:
        '''
        db = self.client[db]
        collection = db[collection]
        collection.delete_many(query)


if __name__ == '__main__':
    db = MongoDB()
    res = db.find_one('albaba', 'shops', {'phone': '13500000822'})
    print(res)
    
    db.update_one('albaba', 'shops', {'phone': '13500000822'}, {'phone': '13500000833'})
    res1 = db.find_one('albaba', 'shops', {'id': 1})
    print(res1)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢同学.

但行好事 莫问前程

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值