我试图推送到文档中,然后将isDefault设置为false,除了我想设置的文档。当我得到MongoError: Updating the path 'cards' would create a conflict at 'cards'时,设置它是有问题的 const update = { $push: { cards: card },
我正在使用mongo-java-driver进行mongodb连接,并且想要更新记录的子对象中的一个字段。at com.mongodb.client.internal.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:1060)
at com.mongodb.client.internal.MongoCollectionImpl.executeUpdate(MongoCollectionImpl.java:
在一个请求中,我希望更新子集合中的记录,如果不存在匹配,则将其附加到其中。对于一个额外的点,我也希望这个更新是一个合并,而不是覆盖。doc.subColl[idx], other }; doc.subColl.push({ name, other });doc.save();
目前,我可以通过提取记录和手动进行更新/追加来实现这一结果,但是我假设使用纯mongo查询来实现这个结果要快得多。