安装第三方模块pymongo并导入
import pymongo conn = pymongo.MongoClient("127.0.0.1", 27017) # 给定IP和端口 mong_db = conn["user"] # user :数据库名称
增加
mong_db.user.insert_one({"name":"wl"},{"age":18}) #增加单条数据
mong_db.user.insert_many([{"name":"wl"},{"age":18}]) #增加多条数据,插入的数字为int
mong_db.user.insert_one({"name":"zs","age":99,"hobby":["抽烟","喝酒","烫头"]})
查询
# find():查询出来的是一个生成器 ret = list(mong_db.user.find()) print(ret) #查看一条age为18的数据,{"_id":0}:0为Flase,不显示ID ret = mong_db.user.find_one({"age":18},{"_id":0}) print(ret) #or:或查询 ret = list(mong_db.user.find({"$or":[{"name":"wl"},{"age":18}]},{"_id":0})) print(ret) #in 查询 ret = list(mong_db.user.find({"name":{"$in":["wl","WL"]}},{"_id":0})) print(ret)
修改
ret = mong_db.user.update_one({"name":"wl"},{"$set":{"age":22}})
print(ret.modified_count) #modified_count :会返回执行了多少条数据
#将用户zs的hobby中的烫头改为大保健
mong_db.user.update_one({"hobby":"烫头","name":"zs"},{"$set":{"hobby.$":"大保健"}})
删除
MONGO_DB.users.delete_one({"name":3}) #删除单个
MONGO_DB.users.delete_many({"name":"alexDSB"}) #删除多个
例:存储游戏人物的装备并修改
ret = mong_db.user.insert_many([{"name": 1, "package": [{"name": "绿玉屠龙", "act": 999, "p": "带有毒素属性"},
{"name": "麻痹戒指", "act": 15, "p": "可让对方处于麻痹状态"}]},
{"name": 2, "package": [{"name": "绿玉屠龙", "act": 999, "p": "带有毒素属性"},
{"name": "麻痹戒指", "act": 15, "p": "可让对方处于麻痹状态"}]},
{"name": 3, "package": [{"name": "绿玉屠龙", "act": 999, "p": "带有毒素属性"},
{"name": "麻痹戒指", "act": 15, "p": "可让对方处于麻痹状态"}]},
])
print(ret,dir(ret),ret.inserted_ids)
卖掉剧毒开天换取元宝
user_info = mong_db.users.find_one({"name":1})
i = 0
for index,item in enumerate(user_info.get("package")):
if item.get("name") == "剧毒开天":
i = index
user_info["package"].pop(i)
if user_info.get("yuanbao"):
user_info["yuanbao"] += 99
else:
user_info["yuanbao"] = 99
mong_db.users.update_one({"_id":user_info.get("_id")},{"$set":user_info})
原文:https://www.cnblogs.com/wanglan/p/10609761.html