首页 > 解决方案 > 使用唯一复合索引更新 MongoDB 中的文档

问题描述

我在 MongoDB 中有一个具有唯一复合索引的文档。

@Document
@CompoundIndex(def = "{'field1':1, 'field2':1", unique = true)
public class MyClass implements Serializable {

    @Id
    private String id;

    private Field1 field1;

    private Field2 field2

...
}

我用Spring Data. 每当我尝试保存两个值都重复的文档时,我会得到E11000 duplicate key error一个适当的重复键异常。

我想让MongoDB在重复的情况下替换记录而不是抛出异常。但是两种 MongoRepository 方法都喜欢saveinsert都没有帮助。有什么办法可以做我想做的事吗?

标签: mongodbspring-dataspring-data-mongodbupsertcompound-index

解决方案


推荐阅读