数组 – MongoDB如何在给定的数组中使用_id插入对象

我的命令是这样的:

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})
点赞