如何使文档中的字段唯一?

时间:2017-12-26 11:03:33

标签: java mongodb spring-data-mongodb

我正在使用spring数据mongo。除了document之外,primary key中有一个字段需要是唯一的,但根据我的要求,我无法使用@Indexed(unique=true)。在spring data mongo中是否有像@Column(unique=true)这样的注释来使该字段成为唯一的?

2 个答案:

答案 0 :(得分:1)

以下方法也可以用于以编程方式定义indexes。这种方法的优点是它提供了用于定义索引的程序控制。

this.mongoTemplate.indexOps(<Document>.class).ensureIndex(new Index("<fieldName>", Direction.ASC).unique());

答案 1 :(得分:0)

在这种情况下,您需要的是稀疏索引。

试试@Indexed(unique=true, sparse=true)。请阅读此类索引here

的文档