在morphia中,您可以使用@Index
注释为@Entity
类创建自动索引。我试图通过指定集合名称来创建这些索引,但无法找到方法来执行此操作。使用AdvancedDatastore
可以将Entity
保存到任何所需的集合中,但是可以确保指定集合上的索引而不是Entity
的默认集合。
advancedDatastore.ensureIndexes(Entity.class); // This will create indexes on the mapped Entities.
我正在寻找一种方法来执行以下操作,但我没有看到任何类似于下面的方法,是否有解决方法来实现此目的:
advancedDatstore.ensureIndexes("exampleCollection", Entity.class); //create indexes of Entity.class for the exampleCollection.
答案 0 :(得分:0)
是的,您可以扩展AdvancedDatastore
接口和DatastoreImpl
具体类,以使用额外参数添加ensureIndex*
方法。我们在组织中这样做并且有效。
还有一个待处理的请求将此功能直接添加到Morphia:https://github.com/mongodb/morphia/pull/541。如果您愿意建立自己的Morphia jar,可以使用那里列出的补丁。