繁体   English   中英

CompoundIndex spring 不区分大小写

[英]CompoundIndex spring case insensitive

所以,我正在从 Spring 级别处理 MongoDB 中的索引。 我想使用不区分大小写的索引。

https://docs.mongodb.com/v3.4/core/index-case-insensitive/

从上面的 mongo 文档中我可以看到,从 DB 级别可以通过使用强度整理来完成,并且应该在 createIndex 函数中使用。 但是我找不到有关如何使用 CompoundIndex 注释中的选项的任何信息。

http://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/core/index/CompoundIndex.html

在 Spring 文档中,没有关于选项的消息。 任何人都知道如何做到这一点?

我没有在@Indexed 之类的注释中找到这样的选项,但是您可以使用类似的方法来确保索引存在与排序规则:

@Configuration
@DependsOn("mongoTemplate")
class CollectionConfig(@Autowired private val mongoTemplate: MongoTemplate) {

    @PostConstruct
    fun ensureIndexes() {
        mongoTemplate.indexOps(DbObject::class.java).ensureIndex(
                Index("fieldName", Sort.Direction.ASC)
                        .unique()
                        .background()
                     .collation(of(Locale.ENGLISH).strength(ComparisonLevel.secondary()))
        )
    }

我一直在寻找相同的信息,发现你可以使用这个:

@CompoundIndex(name = "name_field", def = "{field1: 1,field2:1}{collation:'en', strength:2}")

文档中没有提到它,但我发现了一个悬而未决的问题( https://jira.spring.io/browse/DATAMONGO-2133

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM