我的命令是这样的:
db.item.remove()
db.item.update({_id:{$in:['A1','A2']}},{$inc:{count:1}},{multi: true, upsert: true})
我想要的结果应该是
db.item.find() -->
{_id: 'A1', count: 1}
{_id: 'A2', count: 1}
但事实上它是:
{_id: ObjectId(xxx), count: 1}
{_id: ObjectId(xxx), count: 1}
似乎Upsert不能自动使用查询arrary中的val作为新文档的_id,
有没有办法达到我的目的?
最佳答案 您一次只能插入一个文档,因此需要将其拆分为两个更新调用.
db.item.update({_id: 'A1'},{$inc:{count:1}},{upsert: true})
db.item.update({_id: 'A2'},{$inc:{count:1}},{upsert: true})