安装
pip install pymongo
创建连接(带密码的连接方式)
from pymongo import MongoClient
# MongoDB相关
MONGODB_HOST = '121.4.227.124'
MONGODB_POST = 27017
MONGODB_USER = 'admin'
MONGODB_PASSWORD = '123456789'
def get_mongo_client():
try:
client = MongoClient(MONGODB_HOST, MONGODB_POST)
# 连接mydb数据库,账号密码认证
db = client.admin # 先连接系统默认数据库admin
# 下面一条更改是关键,我竟然尝试成功了,不知道为啥,先记录下踩的坑吧
db.authenticate(MONGODB_USER, MONGODB_PASSWORD)
# 让admin数据库去认证密码登录,好吧,既然成功了,
# 再连接自己的数据库factory
my_database = client.factory
return my_database
except:
print("MongoDB连接异常")
if __name__ == '__main__':
my_db = get_mongo_client()
# myset集合,同上解释
collection = my_db.myset
# 插入一条数据,如果没出错那么说明连接成功
collection.insert({"name": "zhangsan", "age": 18})
# 打印数据库已有的数据
for i in collection.find():
print(i)
条件查询
# 获取数据库
my_db = get_mongo_client()
# 新建或选择集合
collection = my_db.model
model_find = collection.find({'品牌': brand, '型号': model})
for i in model_find:
print(i)
无条件查询
# 获取数据库
my_db = get_mongo_client()
# 新建或选择集合
collection = my_db.model
model_find = collection.find()
for i in model_find:
print(i)
删除部分属性
# 获取数据库
my_db = get_mongo_client()
# 新建或选择集合
collection = my_db.model
# 要删除的内容,不能为空
del_dict = {'name':12}
# 更新数据(删除部分属性)
collection.update_many({'品牌': brand, '型号': model}, {"$unset": del_dict})
for i in model_find:
print(i)
更新属性
# 获取数据库
my_db = get_mongo_client()
# 新建或选择集合
collection = my_db.model
# 要删除的内容,不能为空
update_dict = {'name':12}
# 更新数据(删除部分属性)
collection.update_many({'品牌': brand, '型号': model}, {"$set": update_dict})
for i in model_find:
print(i)