zoukankan      html  css  js  c++  java
  • Pymongo使用

    1.$修改器 :
    $set 简单粗暴 {name:value} dict["name"]=value

    $unset 简单粗暴的删除字段 {$unset:{name:1}} del dict["name"]
    db.user_info.updateOne({age:200},{$unset:{age:1}})

    $inc 引用增加
    db.user_info.updateMany({},{$inc:{age:1}})

    array操作
    $push 在array中追加一个新的元素 [].append(item)
    db.user_info.updateOne({name:"200wansui"},{$push:{hobby:10}})

    $pull 在array中删除一个的元素 [].remove(item) [].pop(-1)
    db.user_info.updateOne({name:"200wansui"},{$pull:{hobby:0}})

    $pop 不含索引 -1 从前往后 1 从后往前
    db.user_info.updateOne({name:"200wansui"},{$pop:{hobby:1}})

    2.$ 字符
    db.user_info.updateOne({hobby:6},{$set:{"hobby.$":"六"}})
    保存符合索引条件数据的下标

    3.Object 字典操作
    db.user_info.updateOne({name:"200wansui"},{$inc:{"info.tizhong":-5}})
    db.user_info.updateOne({name:"200wansui"},{$set:{"info.long":12.5}})

    4.array + Object
    db.user_info.updateOne({"hobby.shengao":150},{$set:{"hobby.$.long":14}})

    5.limit
    db.user_info.find({}).limit(5)
    选取数据从当前位置选择5个

    6.skip 跳过
    db.user_info.find({}).skip(2)
    从0开始跳过2条数据为当前位置

    7.sort
    db.user_info.find({}).sort({ id:-1 })
    根据ID进行排序 -1倒叙 1正序

    8.limit+skip+sort
    db.user_info.find({}).limit(5).skip(10)
    db.user_info.find({}).limit(c).skip((p-1)*c)

    db.user_info.find({}).limit(5).skip(5).sort({ id:-1 })

    优先级最高的是 sort
    其次优先为 skip
    最低优先级 limit

    9.pymongo

    安装pymongo第三方模块

     建立连接

    import pymongo
    from bson import ObjectId
    import json
    mongo_client= pymongo.MongoClient(host='127.0.0.1',port=27017)
    Mongo =mongo_client['db1']
    

    3 使用pymongo实现数据的增删改查

       数据增加

      

    Mongo.user_info.insert_one({'id':2,'name':'zjh','hobby':[1,2,3,4]})
    Mongo.user_info.insert_one({'id':1,"name":'zxd','age':23})
    res = Mongo.user_info.insert_many([{'name':'pymongo','age':666},{'name':'pymongo','age':666}])
    

      

     数据查询

    ret=Mongo.user_info.find_one({‘id’:3})
    print(ret)
    ret=Mongo.user_info.find({})
    print(list(ret))

    res=Mongo.user_info.find({'name':1}).limit(5).skip(0).sort('id',pymongo.DESCENDING)

     数据更改

    Mongo.user_info.update_one({'id':1},{"$set":{'age':18}})
    
    直接更改字典
    ret = Mongo.user_info.find_one({'id':16})
    # print(ret)
    ret.get('info')['shengao']=188
    ret.get('info')['tizhong']=135
    Mongo.user_info.update_one({'_id':ret['_id']},{'$set':ret})
    res = Mongo.user_info.find_one({'id':16})
    print(res)

    更改字典内部字典
    # Mongo.user_info.insert_one({'id':12,'info':{'k1':'v1'}})
    # Mongo.user_info.update_one({'id':12},{"$set":{'info':{'k1':66}}})


    更改列表中的字典
    # Mongo.user_info.insert_one({'id':5,'hobby':[1,23,{'shengao':179,'long':12}]})
    # res=Mongo.user_info.update_one({'hobby.shengao':179},{'$set':{'hobby.$.long':13}})
    # # print(res)
    # Mongo.user_info.update_one({'id':5},{'$push':{'hobby':10}})


     数据删除

    Mongo.user_info.delete_one({'id':1})
    Mongo.user_info.delete_many({'name':1})
    

      序列化与反序列化

    # ret =Mongo.user_info.find_one({'name':'zjh'})
    # ret['_id'] = str(ret['_id'])
    # res=json.dumps(ret)
    # ress = json.loads(res)
    # ress["_id"]=ObjectId(ress["_id"])
    # ret=Mongo.user_info.find_one({'_id':ress["_id"]})
    # print(ret)
    

      

  • 相关阅读:
    Python使用selenium(二)
    自动化测试
    测试要求
    测试用例编写
    求职杂谈
    不会交谈的测试员,果然不是一个好的测试员
    浅谈微信小程序测试
    python 匿名函数lambda的用法
    python __xx__的定义和用处
    看django的感受
  • 原文地址:https://www.cnblogs.com/wszxdzd/p/10176498.html
Copyright © 2011-2022 走看看