zoukankan      html  css  js  c++  java
  • mongodb 数据修改

    update:语法格式如下:

    db.collection.update(
       <query>,
       <update>,
       {
         upsert: <boolean>,
         multi: <boolean>,
         writeConcern: <document>
       }
    )

    参数说明:

    • query : update的查询条件,类似sql update查询内where后面的。
    • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    • writeConcern :可选,抛出异常的级别。

    eg:有一条数据为 name = lisi,age = 12,现在,想修改这条数据的 age = 20

    代码如下:

    db.admin.update({name:'lisi'},{$set:{age:20}}) // 第一个参数表示查找到该条数据,第二个参数表示修改对应字段值

    如果,不写 $set ,则表示,该条数据将被修改为第二个参数中设置的值:

    修改后:

    可以看到,我们已经无法通过 name = 'lisi',查找到该条数据,

    这条数据被修改为

    此时,修改的只是当前查询条件下,查询到的第一条数据。

     如果,我们的查询条件查询到多条数据,我们想将所有查询到的数据都进行同样的修改,

    比如,我想修改所有 name = 'zhangsan' 的 age = 21,

    代码如下:

    db.user.update({'name':'zhangsan'},{$set:{'age': 21}},{multi:true})

     执行完毕,我们来查看结果:

    此时,查询条件 name = 'zhangsan' 的所有数据的 age 都被修改为 20

  • 相关阅读:
    前后端分离
    分库分表之终极设计方案
    题解-CF1491
    题解-ARC113
    题解-CF578D LCS Again
    团队冲刺第二阶段5
    团队冲刺第二阶段4
    团队冲刺第二阶段3
    团队冲刺第二阶段2
    团队冲刺第二阶段1
  • 原文地址:https://www.cnblogs.com/Sky-Ice/p/9429519.html
Copyright © 2011-2022 走看看