【发布时间】:2015-01-19 13:55:40
【问题描述】:
我有一个包含大约 3,000,000 个条目的集合,需要重新编制索引。当我尝试添加 2d 索引时,整个事情就开始了。为此,我创建了一个 ssh 隧道,打开 mongo shell 并尝试使用 ensureIndex。我在一个互联网连接有点不可靠的地方,一个小时最终打破了管道。然后我又回到隧道,打开 mongo shell 并尝试使用 getIndexes 查看索引的数量;我创建的新索引出现了,但我不确定它是否已经完成,所以我决定使用 reIndex。回想起来,这是愚蠢的。管道又断了。现在,当我打开 shell 并尝试发出 getIndexes 时,shell 没有响应。
那我该怎么办?我需要修复我的数据库吗?当我有更可靠的互联网连接时,我可以发布 reIndex 吗?有没有办法在不保持外壳打开的情况下发出 reIndex,但不在后台执行它并让它花费 eons? (我会检查 mongod shell 选项,看看是否能找到任何东西,然后检查 node.js mongo api,这样我就可以尝试在服务器上将某些东西作为服务运行)
另外,如果我最终在服务器上将 reIndex 作为服务运行,有什么方法可以检查它是否正常工作?现在最令人沮丧的部分是我不知道我的数据库是否正常,reIndex 是否仍在运行等。任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: mongodb shell indexing database