MongoDB 使用 update() 和 save() 方法来更新集合中的文档。接下来让我们详细来看下两个函数的应用及其区别。
update() 方法
update() 方法用于更新已存在的文档。语法格式如下:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> })
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$set...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在满足query的记录,是否插入objNew,true为插入,默认是false。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件全部更新。
writeConcern :可选,抛出异常的级别。
save() 方法
save() 方法通过传入的文档来替换已有文档。语法格式如下:
db.collection.save( <document>, { writeConcern: <document> })
参数说明:
document : 文档数据。最关键的是文档里唯一key是_id,如果表中存在此_id的数据,则更新,否则就插入。
writeConcern :可选,抛出异常的级别。