java - MongoDb 与 SpringData - 在后台创建所有索引的全局设置

标签 java spring mongodb spring-data-mongodb

我们正在使用:

  • spring-data-mongodb 版本 1.7.2.RELEASE(但我们开放升级)
  • spring 版本 4.2.6.RELEASE(但我们开放升级)
  • MongoDB 版本 3.2.8(目前不确定升级选项,但我们可以说它也是一个选项)

我们使用 @Indexed 注释(用于简单索引和复合索引)在集合上创建索引

我们想要阻止前台创建新索引,并且我想知道是否有一个标志或选项可以在 MongoDB 的配置或 Spring 的 Mongo 连接中设置,可以将所有索引全局设置为后台,即使它们没有定义在 Java 代码(注释)中也是这样吗?

我问的原因是我们遇到了一个问题,即 POJO 从一个类移动到另一个类,这导致在前台创建该 POJO 中的索引。我正在寻找一种方法来防止这种情况再次发生,并防止其他开发人员将来意外添加前台索引。

最佳答案

您可以使用@Indexed设置各种选项,但无法全局更改行为。 @Indexed 的功能范围有限,适用于简单的用例。

您应该使用 IndexOperations 来完全控制索引创建。

关于java - MongoDb 与 SpringData - 在后台创建所有索引的全局设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42276474/

相关文章:

java - simple-spring-memcached 升级到 4.1.1 导致 WrappedCacheException

mongodb - 在 MongoDB 中,如果删除了集合,索引也会自动删除吗?

java - 从 C 源代码到 Java 字节码?

spring - 找不到 XML 模式命名空间的 Spring NamespaceHandler [http ://www. springframework.org/schema/batch]

java - Spring MVC : JSON to Pojo conversion throwing HTTP 415 Error

java - 通过 Spring Batch 中的列顺序解析 csv

MongoDB - 查找值为空或小于 X 的结果

java - 如何从 MongoDB 和 Cosmos DB 的值字段获取可嵌入文档?

java - 禁用仪器库

java - 文件未上传到服务器