我正在使用spring数据mongo。除了document
之外,primary key
还有一个领域需要独特,但根据我的要求,我不能使用@Indexed(unique=true)
。在spring数据mongo中是否有像@Column(unique=true)
这样的注释使该字段成为唯一的?
在这种情况下,您需要的是稀疏索引。
试试@Indexed(unique=true, sparse=true)
。请阅读此类索引here的文档
以下方法也可用于以编程方式定义indexes
。此方法的优点是它提供了用于定义索引的编程控制。
this.mongoTemplate.indexOps(<Document>.class).ensureIndex(new Index("<fieldName>", Direction.ASC).unique());