mongo createIndex后台阻止shell

时间:2016-12-08 14:40:35

标签: mongodb

我正在为几千兆字节的文档创建一个索引。

在我的mongo shell中,我运行了这个命令:

db.positions.createIndex( { "imei": 1, "server_date": -1 }, { "background": true, "name": "positions_imei_server_date" } );

但是即使背景设置为true,我也没有得到shell提示符。

如果我查看日志,我会看到:

[conn13]   Index Build (background): 14129300/19197181 73%

所以它似乎真的作为后台任务运行。但是为什么我没有收到shell中的提示?这是正常的吗?如果我输入 CTRL + C 会取消我的索引吗?

我正在运行mongo 3.4.0

1 个答案:

答案 0 :(得分:7)

这是预期的行为。 后台表示在数据库中列出集合的操作,您可以在不受阻止的情况下构建索引。但是,您启动的shell命令仍在运行。您只需打开另一个shell并连接到服务器即可。发出 CTRL + C 将中止索引创建。

在此处查看更多内容:https://docs.mongodb.com/v3.0/core/index-creation/#background-construction