MongoDB非一般修改方式upsert

MongoDB特殊修改方式upsert

MongoDB的update方法的中,第三个参数为upsert,默认值为false,当设置为true的时候可以有以下作用,update方法会首先查找与第一个参数匹配的记录,再用第二个参数更新之,如果找不到与第一个参数匹配的记录,则会插入一条新的记录,插入记录时会先以第一个参数为基础创建一条记录,然后用第二个参数修改该条新的记录。

 

1.db.human.update({name:"zqz"},{$set:{age:24}},true)

创建{name:"zqz"},用第二个参数修改该记录,设置age为24,最终插入的新纪录为{name:"zqz",age:24}

 

2.db.human.update({age:25},{$inc:{age:1}},true)

创建{age:25},用第二个参数修改该记录,age值增加1,最终插入的新纪录为{age:26}

 

3.db.human.update({name:"zhang"},{name:"zhangquanzhong"},true)

最终插入的记录为{name:"zhangquanzhong"}