Ami*_*har 41 java mongodb mongodb-java
使用MongoDB createIndex()和ensureIndex()Java 之间有什么区别?我用Google搜索了这个,但没有得到满意的答案.
sol*_*4me 29
更新2: 原始答案以及第一次更新错误地引用了Mongo shell文档而不是Java API.
在Java中,DBCollection.ensureIndex()在2.12版中已弃用,在3.0版中已删除.DBCollection.createIndex()是应该使用的那个.
更新:
db.collection.ensureIndex()自3.0.0版以来不推荐使用.
现在是db.collection.createIndex()的别名.
它用于在集合上创建索引,而如果索引尚不存在,则在ensureIndex()指定字段上创建索引.此外,当我们执行createIndex()两次时,第二次执行将失败,而ensureIndex()你可以多次调用它,它不会失败
还有一件事,他们改变有关的行为ensureIndex(),在MongoDB中的以前版本(版本小于2.6),如果对现有文档的索引条目超过最大索引键长度的索引将被创建,但MongoDB中不会索引此类文件,而在最新版本不会创建索引.
Jen*_*lla 14
在Java API中,与"普通"MongoDB API(在响应时)相比,DBCollection.ensureIndex()不赞成使用.更新:此不一致似乎已经解决,现在也替换在Mongo shell中.db.collection.createIndex()db.collection.ensureIndex()
正如您在https://jira.mongodb.org/browse/JAVA-1097中所看到的,在ensureIndex()Java驱动程序的版本2.12.0中已弃用Java(OP询问的),并且DBCollection.createIndex()您需要使用它.DBCollection.ensureIndex()(链接到版本2.12)在DBCollection Java API中不再可用.
| 归档时间: |
|
| 查看次数: |
21661 次 |
| 最近记录: |