java - 在最新的 MongoDB java 驱动程序中使用 createIndex() 时,索

所以我将 MongoDB java 驱动程序升级到 2.12.4,其中 ensureIndex() 方法已被弃用。相反,我使用的是 createIndex() 方法,该方法从文档中看起来类似于 ensureIndex()。但是,当我在生产中使用此方法时,出现以下错误 -

{ "serverUsed" : "X.X.X.X" , "ok" : 0.0 , "errmsg" : "Index with name: <index_name> already exists with different options" , "code" : 85}

为什么会这样?谁能帮我解决这个问题?

谢谢

最佳答案

在创建新索引之前尝试删除当前索引。

如果您担心这些索引的生产停机等问题,您可以:

  1. 添加第二个索引,就像您现在在生产中的索引一样 使用不同的名称。
  2. 删除现有的一个
  3. 重新启动服务器,以便您的 Java 代码中的索引按预期创建
  4. 删除您的重复索引。

关于java - 在最新的 MongoDB java 驱动程序中使用 createIndex() 时,索引已存在不同的选项错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27288373/

相关文章:

java - MongoDB Java 驱动程序 : distinct with sort

mongodb - Meteor.Collection 和 Meteor.Collection.Cu

mongodb - NoSQL 与关系数据库与可能的混合

javascript - 在 MongoDB 更新语句中使用变量

ruby-on-rails - Mongoid 批量更新/Upsert 替代方案?

java - Mongodb选择所有字段按一个字段分组并按另一个字段排序

mongodb - 在 mongo shell 中加载和运行聚合

node.js - Mongoose - findByIdAndUpdate - 不适用于 req.

mongodb - 使用聚合框架按子文档字段分组

python - Mongodb复制集自动重新连接在nginx + uwsgi上下运行后无法正常工作