• Python 操作MongoDB


    安装第三方模块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})
  • 相关阅读:
    项目部署在windows下的tomcat里
    获取tomcat端口号的三种方式
    windows 下载安装github
    Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in query at index 189......
    HTTP协议头了解
    服务器nginx安装
    php源码安装
    php简化指令,以及php.ini配置
    配置php7 以支持swoole
    swoole install
  • 原文地址:https://www.cnblogs.com/wanglan/p/10609761.html
Copyright © 2020-2023  润新知