mih*_*hal 5 spring mongodb spring-data-mongodb
如何在 Java 中以编程方式使用 Spring Data 创建 MongoDB 复合索引?
使用 MongoTemplate 我可以创建这样的索引:
mongoTemplate.indexOps("collectionName").ensureIndex(new Index().on("fieldName", Sort.Direction.DESC)。
有没有办法创建复合键?
我看到有一个类CompoundIndexDefinition,从它的名字来看,它似乎是这样做的,但我无法让它工作。
您可以在 Java 中以编程方式使用 Spring Data 在任何集合上创建复合索引,如下所示:
// Compound indexes on the fields: fieldOne & fieldTwo
// db.groups.createIndex({fieldOne:1, fieldTwo:1})
IndexDefinition index =
    new CompoundIndexDefinition(new Document().append("fieldOne", 1).append("fieldTwo", 1));
mongoTemplate.indexOps(CollectionName.class).ensureIndex(index);
上面的示例将创建与 mongo shell 上相同的索引:
db.groups.createIndex({fieldOne:1, fieldTwo:1})
小智 5
借助 Spring Data,您可以使用 MongoTemplate 或 MongoOperations 以编程方式创建索引
    mongoTemplate.indexOps(CollectionName.class)
            .ensureIndex(new Index().on("fieldOne", Sort.Direction.DESC)
                    .on("fieldTwo", Sort.Direction.ASC));
    mongoOperations.indexOps(CollectionName.class)
            .ensureIndex(new Index().on("fieldOne", Sort.Direction.DESC)
                    .on("fieldTwo", Sort.Direction.ASC));
| 归档时间: | 
 | 
| 查看次数: | 5269 次 | 
| 最近记录: |