Index already exists with different options error while using createIndex() in latest MongoDB java driver

indexing, java, mongodb, mongodb-java

Solution

Try removing your current indexes before you create the new ones.

If you're worried about production downtime etc for these indexes, you could:

- Add a second index just like the one you have on production now with a different name.

- delete the existing one

- restart the server so that the index in your Java code is created as expected

- delete your duplicate index.

Problem

So I am upgrading the MongoDB java driver to 2.12.4 where the `ensureIndex()` method has been deprecated. I am instead using the `createIndex()` method which from the docs seems like to funciton similarly to `ensureIndex()`. However, when I use this method in production, I get the following error - ``` { "serverUsed" : "X.X.X.X" , "ok" : 0.0 , "errmsg" : "Index with name: <index_name> already exists with different options" , "code" : 85} ``` Why does this happen? Could anyone help me out with this? Thanks

Original source