我正在为几千兆字节的文档创建一个索引。
在我的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
答案 0 :(得分:7)
这是预期的行为。 后台表示在数据库中列出集合的操作,您可以在不受阻止的情况下构建索引。但是,您启动的shell命令仍在运行。您只需打开另一个shell并连接到服务器即可。发出 CTRL + C 将中止索引创建。
在此处查看更多内容:https://docs.mongodb.com/v3.0/core/index-creation/#background-construction