db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
参数 | 类型 | 描述 |
---|
query | json | update的查询条件,类似sql update查询内where后面的 |
update | | update的对象和一些更新的操作符(如
,
,
,inc…)等,也可以理解为sql update查询内set后面的 |
upsert | boolean | 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。 |
multi | boolean | 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。 |
writeConcern | | 可选,抛出异常的级别 |
db.mytable.update({name:'李六'},{$set:{age:10}}) //带$set仅进行修改操作,第二个参数里的对应的值会被修改
db.mytable.update({name:'李六'},{age:10}) //不带$set操作会进行覆盖操作,第二个参数里面没有的值会被设置为null
//query 可以带多个参数,注意参数类型
db.mytable.update({name:'李六',age:100},{$set:{age:101}})
可选参数传参方式
db.mytable.update({name:'李六'},{$set:{age:100}},{multi:true})
//upsert这个参数可以直接通过true来使用,如果仅仅是只使用一个可选属性的话可以这样使用,如果有多个属性,需要使用{key:value的形式},当upsert与multi都为true时,仅修改一条
db.mytable.update({}, {$set:{sex:"女"}},true)
修改字段名
db.mytable.update({}, {$rename:{sex:'gender'}}, {multi:true})
删除字段
db.mytable.update({}, {$unset:{gender:''}},{multi :true})