繁体   English   中英

Mongo Java驱动程序:收集删除后的娱乐索引

[英]Mongo Java-driver: recreation indexes after collection dropping

我有必要从mongo集合中删除所有数据。 删除collection的速度比collection.remove(new BasicDBObject())更快。 但是它也删除了索引定义。 因此,我想在删除集合后恢复索引定义。

总的来说,我有以下计划:

  1. 在删除之前获取所有索引定义: http : //www.mongodb.org/display/DOCS/Java+Tutorial#JavaTutorial-GettingaListofIndexesonaCollection
  2. 删除后重新创建定义: http : //www.mongodb.org/display/DOCS/Java+Tutorial#JavaTutorial-CreatingAnIndex

对我来说,问题是应检索/传递索引重新创建的确切值。 例如,将对所有类型的索引执行以下正确工作:

List<DBObject> storedDefinitions = coll.getIndexInfo();
coll.drop();
for (DBObject storedDefinition : storedDefinitions) {
  coll.createIndex(storedDefinition.get("key"));
}

如果没有-实现目标的最佳方法是什么?

谢谢你的帮助!

你近了 您将需要读取检索到的索引的索引选项,然后使用该方法的createIndex(DBObject key,DBObject options)版本将其应用于新创建的索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM