java – @CompoundIndex在Spring Data MongoDB中不起作用
发布时间:2020-12-15 00:34:52 所属栏目:Java 来源:网络整理
导读:我正在使用 Spring Data MongoDB处理应用程序.我想在我的一个模型上创建一个复合索引.我在顶部添加了@CompoundIndex注释,如下所示: @Document@CompoundIndexes({ @CompoundIndex(name = "name_",def = "{ 'tenantId': 1,'name': 1 }",unique = true)})publi
我正在使用
Spring Data MongoDB处理应用程序.我想在我的一个模型上创建一个复合索引.我在顶部添加了@CompoundIndex注释,如下所示:
@Document @CompoundIndexes({ @CompoundIndex(name = "name_",def = "{ 'tenantId': 1,'name': 1 }",unique = true) }) public class MyModel { } 但是,不会创建索引.我也尝试将@CompoundIndex直接放在类之上.该集合仍然缺少索引.创建时,相同的索引定义正常工作: mongoTemplate.indexOps(MyModel.class).ensureIndex(new Index().named("name_").on("tenantId",Direction.ASC).on("name",Direction.ASC).unique()); 我更喜欢使用索引的基于注释的定义.任何想法为什么这不起作用? 解决方法
在这种情况下,我宁愿使用mongodb createIndex方法,因为它确保已创建索引,即使您在应用程序模型中创建它们(在这种情况下为Spring启动),最好还是进行双重检查并手动创建它们
https://docs.mongodb.com/v3.2/reference/method/db.collection.createIndex/
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java实现二维数组转json的方法示例
- java开发之MD5加密算法的实现
- Spring Boot Debug调试过程图解
- java – Wildfly 9.x无法编码希腊语附件文件名
- 运行外部“java myprog
- 详解springboot + profile(不同环境读取不同配置)
- 异常: Recieved SHUTDOWN signal from Resourcemanager ,Re
- 如何删除JOptionPane中的问号?
- 迁移Jersey项目以在jersey.repackaged.org.objectweb.asm.C
- java-ee – 如何使多个请求(使用Wicket和JPA)将实体(或其关