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 不能对同一字段使用