1. 程式人生 > >MongoDB學習筆記 MongoDB的插入更新--upsert

MongoDB學習筆記 MongoDB的插入更新--upsert

轉自:http://www.guoxk.com/node/483

我們在使用MongoDB的update時,如果設定第三個引數為true,會在沒有找到文件的情況下新建一個文件,下面是一個例子

>db.foo.find()
{ "_id" : ObjectId("4e9165cf717ed94f8289ac0c"), "bar" : "baz" }
>db.foo.update({"bar":"baz"}, {"$inc":{"count":3}})
>db.foo.find()
{ "_id" : ObjectId("4e9165cf717ed94f8289ac0c"), "bar" : "baz", "count" : 3 }


>db.foo.update({"bar":"bazz"}, {"$inc":{"count":3}})
>db.foo.find()
{ "_id" : ObjectId("4e9165cf717ed94f8289ac0c"), "bar" : "baz", "count" : 3 }
> db.foo.update({"bar":"bazz"}, {"$inc":{"count":3}},true)
> db.foo.find()
{ "_id" : ObjectId("4e9165cf717ed94f8289ac0c"), "bar" : "baz", "count" : 3 }

{ "_id" : ObjectId("4e916661739f1da5452a4dfe"), "bar" : "bazz", "count" : 3 }

如果在update中不設定第三個引數為true,在查詢不到要更新的文件時,不做任何操作;如果設定第三個引數為true,則會在沒有找到文件的情況下新建一個文件。