hand
9
_1_38_14
4
返回栏目
0k
0.8k
0k
0k
0.5k
1k
0k
0k
2k
0.9k
2k
1k
1k
1k
0k
0k
1k
7k
0.2k
1k
0.2k
3k
0k
0.7k
0.3k
1k
0.5k
3k
0.2k
0.8k
0.3k
0k
0k
0.1k
0k
0k
返回MongoDB栏目
作者:
贺及楼
成为作者
更新日期:2025-02-26 23:38:41
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循环修改
MongoDB
整章节共36节
快分享给你的小伙伴吧 ~