MongoDB唯一索引禁止覆盖

时间:2012-12-25 19:04:50

标签: mongodb spring-data-mongodb

我在Mongo文档的其中一个字段上创建了一个唯一= true的索引。这可以按预期工作 - 它通过覆盖现有条目来禁止重复。

我想禁止覆盖,而是在尝试插入重复时获取错误或异常。有没有办法做到这一点?我如何使用Spring Data MongoDB执行此操作?

2 个答案:

答案 0 :(得分:2)

通过向MongoTemplate配置添加WriteConcern = SAFE,我可以在违反“unique = true”约束时获得异常。我处理异常并禁止覆盖。

答案 1 :(得分:0)

索引注释有一个参数dropDups = true,它可以为您提供所需的内容。

Indexed (unique=true, dropDups=true)

http://static.springsource.org/spring-data/data-mongodb/docs/1.1.0.RELEASE/api/org/springframework/data/mongodb/core/index/Indexed.html