带有SpringData的MongoDb - 用于在后台创建所有索引的全局设置

时间:2017-02-16 14:17:13

标签: java spring mongodb spring-data-mongodb

我们正在使用:

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

所以我已经请了一位Mongo DB顾问,他来到我们这里讨论一些Mongo DB内部会议。 他的回答是Mongo DB没有这样的设置或标志,所以这意味着Spring Data可能没有这样的设置或标志..

关闭以手动更改我们的代码,使我们所有索引都显示为背景。