我在 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 方法都喜欢save
和insert
都没有帮助。有什么办法可以做我想做的事吗?