mongodb update 更新操作

db.collection.update(
   <query>,// 查询条件
   <update>, // 要更新的值(字段)--赋值表达式  $set
   {
     upsert: <boolean>,// 如果要更新的记录不存在,是否插入新记录
     multi: <boolean>,// 是否只更新一条记录
     writeConcern: <document>
   }
)

1,先查询person 中age=20 的数据:

更新name为“ming”,在次查询,age=20的数据,发现只更新了一条数据,如下:

mongodb update 更新操作_第1张图片

2,默认情况下update() 仅更新第一条匹配的记录,如果想要更新多条,需要设置multi参数为true: 如下:

    mongodb update 更新操作_第2张图片

3,更新一条不存在的记录(不带upsert 参数的更新):

如:db.person.find({age:30});

db.person.update({age:30},{$set:{name:"yyyy"}}); , 这时候更新并没有新增这一条记录如下:

mongodb update 更新操作_第3张图片

4,更新一条不存在的记录(带upsert参数的更新) ,如果被更新的文档不存在,可以通过指定upsert参数确定是否要插入一条新的记录,如果upsert:true 则插入,否则,不插入如下:

db.person.update({age:30},{$set:{name:"yyyy"}},{upsert:true});

你可能感兴趣的:(mongodb update 更新操作)