mongodb 数据修改 db.collection.update,multi,upsert

mongodb 修改语法

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 :可选,抛出异常的级别。

 原数据

修改代码如下:

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

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

db.admin.update({:'lisi'},{age:21})

修改后:

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

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

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

代码如下:

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

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

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

发布了28 篇原创文章 · 获赞 0 · 访问量 2629

猜你喜欢

转载自blog.csdn.net/oopxiajun2011/article/details/105706400