所以我将MongoDBjava驱动程序升级到2.12.4,其中ensureIndex()方法已被弃用。相反,我使用的是createIndex()方法,该方法从文档中看起来类似于ensureIndex()。但是,当我在生产中使用此方法时,出现以下错误-{"serverUsed":"X.X.X.X","ok":0.0,"errmsg":"Indexwithname:alreadyexistswithdifferentoptions","code":85}为什么会这样?谁能帮我解决这个问题?谢谢 最佳答案 在创建新索引之前尝试删除当前索引
createIndex()和ensureIndex()在Java中使用MongoDB有什么区别?我用谷歌搜索了这个,但没有得到满意的答案。 最佳答案 更新2:原始答案以及第一次更新错误地引用了Mongoshell文档而不是JavaAPI。在Java中,DBCollection.ensureIndex()在2.12版中已弃用并在3.0版中删除。DBCollection.createIndex()是应该使用的那个。更新:db.collection.ensureIndex()自3.0.0版起已弃用。现在是db.collection.cre
MongoDB索引索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构createIndex()方法MongoDB使用createIndex()方法来创建索引。注意在3.0.0版本前创建索引方法为db.collection.ensureIndex(),之后的版本使用了db.collectio
MongoDB索引索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构createIndex()方法MongoDB使用createIndex()方法来创建索引。注意在3.0.0版本前创建索引方法为db.collection.ensureIndex(),之后的版本使用了db.collectio