1000から始まるカウンターを作りたいです。
つまり、次のように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
}
挿入の場合は $set 1000 が必要であるが、更新の場合は $inc 1 が必要であることを upsert に伝える方法はありますか?