• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

关闭

返回栏目

关闭

返回MongoDB栏目

20 - 命令 - 改 - db.xx.update()

作者:

贺及楼

成为作者

更新日期:2025-02-26 23:38:41

命令 - 改 - db.xx.update()
  1. db.collection.update(
  2. {查语句},
  3. {改语句},
  4. {选项options}
  5. )
  6. {选项options}
  7. {upsert:false,multi:false}
  8. 参数options用于指定更新文档时的选项,可选值包括:upsertmulti
  9. upsert可以指定如果数据存在就更新,不存在就创建数据;
  10. upsertfalse,不存在,不更新(默认值)
  11. upserttrue,存在则更新,不存在则创建
  12. multi选项指定是否应该更新所有匹配的文档,或者只更新第一个文档(默认行为)。
  13. multifalse,修改1条,(默认值)
  14. multitrue,修改多条
修改 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删除文档指定属性
  1. 修改列名
  2. db.collectionName.updateMany(
  3. {},
  4. { $rename: { "oldFieldName": "newFieldName" } }
  5. );

全部内容增加.png

  1. db.collection_name.find({"role": {$ne:""}}).forEach(
  2. function(item){
  3. db.collection_name.update({"_id":item._id},{$set:{"role": item.role + ".png"}})
  4. }
  5. );

查出role不是空的数据,for循环修改