
db.collection.update({查语句},{改语句},{选项options}){选项options}{upsert:false,multi:false}参数options用于指定更新文档时的选项,可选值包括:upsert和multi。upsert可以指定如果数据存在就更新,不存在就创建数据;upsert为false,不存在,不更新(默认值)upsert为true,存在则更新,不存在则创建multi选项指定是否应该更新所有匹配的文档,或者只更新第一个文档(默认行为)。multi为false,修改1条,(默认值)multi为true,修改多条
| 修改 | Mongo/MySQL | 命令 | 含义 |
|---|---|---|---|
| 修改0 | Mongo | db.users.update({查语句},{改语句},{"upsert":True,multi":False}); |
默认只改1个 |
| 修改0 | Mongo | db.users.updateOne(); |
改1个 |
| 修改0 | Mongo | db.users.updateMany(); |
改全部 |
| 修改0 | Mongo | db.users.updateMany({},{$set: {new_co_name: ''}},true,true);; |
全部数据增加一个字段new_co_name,默认字符串 |
| 修改1 | Mongo | db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true); |
$set修改指定属性 |
| 修改1 | MySQL | update users set name = 'changeName' where age = 25; |
|
| 修改2 | Mongo | db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true); |
$inc是在基础上增加的意思 |
| 修改2 | MySQL | update users set age = age + 50 where name = 'Lisi'; |
|
| 修改3 | Mongo | db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true); |
$inc是在基础上增加的意思 |
| 修改3 | MySQL | update users set age = age + 50, name = 'hoho' where name = 'Lisi'; |
|
| 修改4 | Mongo | db.users.update({age: 25}, {name: 'changeName'}); |
全部age为25的清掉,换成name: ‘changeName’ |
| 修改5 | Mongo | db.users.update({age: 25}, {$unset: {name: '这里值随便给'}}); |
$unset删除文档指定属性 |
修改列名db.collectionName.updateMany({},{ $rename: { "oldFieldName": "newFieldName" } });
db.collection_name.find({"role": {$ne:""}}).forEach(function(item){db.collection_name.update({"_id":item._id},{$set:{"role": item.role + ".png"}})});
查出role不是空的数据,for循环修改