有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java MongoDB使用唯一索引覆盖或跳过现有文档

我有一个带有Spring数据的Spring启动应用程序。另外,我在MongoDB有一个收藏。该集合包含几个字段,我创建了一个带有唯一标志的索引,由3个字段组成,例如:姓名+姓氏+年龄

当我插入以下Java格式的文档repository.saveAll(list),而我的集合已经包含了这些文档的一部分时,Mongo在我面前抛出了一个异常,比如:

Bulk write operation error on server localhost. Write errors: [BulkWriteError{index=0, code=11000, message='E11000 duplicate key error collection: myCollection.name index: name_1_surname_1_age_1 dup key

这是预期的行为,但我需要使用以下逻辑配置Mongo:

  • 当插入多个文档时,索引显示“集合中已经存在一些文档”-忽略这些文档,或跳过它们,或只是在没有任何例外的情况下覆盖它们

可能吗?同时处理多个文档对我来说很重要

你知道怎么做吗?作为一个更好的结果,我想使用一些属性或附加标志,而无需自定义查询。 谢谢


共 (0) 个答案