Python操作Mongodb数据库

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': " 鲜花 "}}))

# 删除数据 ,外汇跟单gendan5.com 删除一条 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值