首页 > IT职业 > IT生活 > 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)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69946337/viewspace-2770529/,如需转载,请注明出处,否则将追究法律责任。