upsert:true:若是要更新的文檔不存在的話會插入一條新的記錄app
$setOnInsert操做符會將指定的值賦值給指定的字段,若是要更新的文檔存在那麼$setOnInsert操做符不作任何處理;spa
使用:文檔
db.collection.update(it
<query>,io
{$setOnInsert:{<field1>:<value1>,......}},date
{upsert:true}db
)apple
實例:query
db.products.update(co
{_id: 1},
{
$set:{item:"apple"},
$setOnInsert:{defaultQty:100}
},
{upsert:true}
)
注意:$set和$setOnIsert 不能對同一字段使用