我想创建一个从 1000 开始的计数器。
即 upsert 一个 mongodb 文档如下
- 如果文档不存在,则使用值 1000 创建它
- 如果文档已经存在,则增加值 +1
以下不起作用:
environment_data:PRIMARY> db.test.findAndModify
({query:{key:"mycounter"},
update:{$inc:{value:1}, $set:{value:1000}},
upsert:true})
Error: findAndModifyFailed failed: {
"errmsg" : "exception: Cannot update 'value' and 'value' at the same time",
"code" : 16836,
"ok" : 0
}
有没有办法告诉 upsert 对于插入,它需要 $set 1000,但对于更新,它需要 $inc 1 ?