1.修改方法

一 语法
    里面有三个大的语句:一个是查询条件;一个是修改字段;一个是其他参数(目前就有两个)
    db.table.update(
    条件,
    修改字段,
    其他参数
    )


    update db1.t1 set id=10 where name="egon";#这是sql语句的更新使用

    db.table.update(
    {},#这是查询条件
    {"age":11},
    {
        "multi":true,#这是删除查询到的所有数据
        "upsert":true#这是如果找不到这个数据,就新插入
    }
    )

    1、update db1.user set age=23,name="武大郎" where name="wupeiqi";
    #覆盖式更新就是替换掉查询到的数据,只能替换掉一个查询数据
    db.user.update(
        {"name":"wupeiqi"},
        {"age":23,"name":"武大郎"}
    )
    #局部修改:$set就是只更改这里面显示的字段。
    db.user.update(
        {"name":"alex"},
        {"$set":{"age":73,"name":"潘金莲-alex"}}
    )

    #改多条
    db.user.update(
        {"_id":{"$gte":1,"$lte":2}},
        {"$set":{"age":53,}},
        {"multi":true}
    )
    #有则修改,无则添加
    db.user.update(
        {"name":"EGON"},
        {"$set":{"name":"EGON","age":28,}},
        {
        "multi":true,
        "upsert":true
        }#这个就是参数
    )

    #修改嵌套文档
    db.user.update(
        {"name":"潘金莲-alex"},
        {"$set":{"addr.country":"Japan"}}#如果需要查询到里面有嵌套的数据用.就可以查到。
    )

    #修改数组
    db.user.update(
        {"name":"潘金莲-alex"},
        {"$set":{"hobbies.1":"Piao"}}#如果需要查询到里面有嵌套的数据用.就可以查到。
    )

    #删除字段
    db.user.update(
        {"name":"潘金莲-alex"},
        {"$unset":{"hobbies":""}}#删除一个字段
    )

    2、$inc
    db.user.update(
        {},
        {"$inc":{"age":1}},#增加用的,如果是正数就说明是增加,如果是负数,就是减少
        {"multi":true}
    )

    db.user.update(
        {},
        {"$inc":{"age":-10}},
        {"multi":true}
    )

    3、$push, $pop  $pull#对某个字段的添加或删除
    db.user.update(
        {"name":"yuanhao"},
        {"$push":{"hobbies":"tangtou"}},#对某一个字段是数组添加一个值
        {"multi":true}
    )

    db.user.update(
        {"name":"yuanhao"},
        {"$push":{"hobbies":{"$each":["纹身","抽烟"]}}},#对某一个字段是数组添加多个值别忘了用$each
        {"multi":true}
    )

    #从头删-1,从尾删1
    db.user.update(
        {"name":"yuanhao"},
        {"$pop":{"hobbies":-1}},#从开始删除
        {"multi":true}
    )

    db.user.update(
        {"name":"yuanhao"},
        {"$pop":{"hobbies":1}},#从后面删除
        {"multi":true}
    )

    #按条件删
    db.user.update(
        {"name":"yuanhao"},
        {"$pull":{"hobbies":"纹身"}},#"$pull" 把符合条件的统统删掉,而$pop只能从两端删
        {"multi":true}
    )

    #3、$addToSet#添加数据,不重复添加
    db.t3.insert({"urls":[]})
    db.t3.update(
        {},
        {"$addToSet":{"urls":{"$each":[
            "http://www.baidu.com",
            "http://www.baidu.com",
            "http://www.baidu.com",
            "http://www.baidu.com",
            "http://www.baidu.com"
        ]}}},
        {"multi":true}
    )
View Code

相关文章:

  • 2021-10-11
  • 2022-12-23
猜你喜欢
  • 2021-06-24
  • 2021-12-05
  • 2021-04-16
  • 2021-12-26
相关资源
相似解决方案