我的收藏集col
包含name
作为唯一键,位于文档
(我实际上在" D"字段中使用日期,但为了简单起见,我们将在此处使用数字)
{ "_id" : ObjectId("57bc79f2d3dd9e95d6ac2d4f"), "name" : "abc", "D" : 5 }
我想做一个条件upsert,如下所示,
姓名:" abc",D:6(更新)
姓名:" abc",D:4(忽略)
姓名:" bcd",D:10(插入)
我在mongo shell中尝试了以下查询
db.col.update(
{"name":"abc","D":{$lt:6}},
{
$set:{"name":"abc","D":6},
$setOnInsert:{"D":6}
},
{"upsert":1}
)
但它会抛出
"writeError" : {
"code" : 16836,
"errmsg" : "Cannot update 'D' and 'D' at the same time"
}