mongodb 数据修改

update:语法格式以下:sql

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

参数说明:mongodb

  • 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 = 20spa

代码以下:3d

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

 

若是,不写 $set ,则表示,该条数据将被修改成第二个参数中设置的值:code

修改后:对象

能够看到,咱们已经没法经过 name = 'lisi',查找到该条数据,blog

这条数据被修改成it

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

 若是,咱们的查询条件查询到多条数据,咱们想将全部查询到的数据都进行一样的修改,class

好比,我想修改全部 name = 'zhangsan' 的 age = 21,

代码以下:

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

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

此时,查询条件 name = 'zhangsan' 的全部数据的 age 都被修改成 20

相关文章
相关标签/搜索