我在MongoDB中拥有大约一千万个数据。需要添加一个新的复合索引。我使用以下代码创建索引。在后台创建选项时使用sureIndex。
MongoStore.ads().ensureIndexes("MyCollection", MyCollection.class, true);
我的问题是如何跟踪索引创建进度。确认索引已100%创建后,我还需要执行其他操作。
请帮助我检查Java的进度。
我正在使用mongo-java-driver 3.5版本。
您无法使用mongo-java驱动程序监视它们。但是,您可以在Mongo Shell中监视创建的索引:
db.currentOp({"command.createIndexes": { $exists : true } }).inprog.forEach(function(op){ print(op.msg) })
这将返回输出,如:
Index Build (background) Index Build (background): 83727/271147 30%
有关currentOp()
的更多信息,请参考here。
希望这会有所帮助:)