Skip to content
On this page
db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query : update 的查询条件,类似 sql update 查询内 where 后面的。

  • update : update 的对象和一些更新的操作符(如$,$inc...)等,也可以理解为 sql update 查询内 set 后面的

  • upsert : 可选,这个参数的意思是,如果不存在 update 的记录,是否插入 objNew,true 为插入,默认是 false,不插入。

  • multi : 可选,mongodb 默认是 false,只更新找到的第一条记录,如果这个参数为 true,就把按条件查出来多条记录全部更新。

  • writeConcern :可选,抛出异常的级别

实际代码:

db.getCollection('article').update(
    {import: "script", province: "河南省"},
    {$set: {del: '1', updated_at : "2019-05-06 09:51:00"}},
    {upsert: false, multi: true})

根据 1 个字段更新另一个字段

db.getCollection('userSet').find({setNumber: {$exists: true}}).forEach(function(item){
   db.getCollection('userSet').update({"_id":item._id},
          {"$set": {"setNumberNew":item.setNumber}},false,true)
})