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