最新版的mongodb无法后台创建索引吗?官网显示background是deprecated状态,会被解释器过滤。我现在有上百个集合,想给它们中的某些关键字段做索引,只能前台做吗?或者有什么提高效率的方法?求助。
asgssdddds 未选择答案
还没看最新版,不过一般来说,之前版本 background 这个状态是大家都会加的,也就是说,新版本估计默认都是background,而且只能是background了。
之前有没有加background的区别:
- 加了background:索引后台创建,数据写入没有阻塞
- 没加background:数据写入时会有阻塞,待索引创建完成后数据库才可以进行写入。
gaorb 发表新评论
如果担心网络问题,可以在跟mongodb 同一个机房找一台服务器,装上客户端,通过这客户端执行创建索引语句,然后后台执行,这样即使你本地网络出问题了,也不会断掉。
其实,当你在MongoDB创建索引后,即使你的客户端跟MongoDB断开连接,底层下的数据节点仍然是会在创建的,这个你可以看下数据库日志,都有索引创建进度的。
不过鉴于你集合量多,创建索引多,最好还是找台同机房服务器去创建,这样方便点,也不用太担心网络问题。
谢谢回答,可能我的意思没有表述清楚。我的集合数量非常多,并且数据量很大。在创建索引的过程中mongosh一直是阻塞住的。这很考验我的ssh网络环境,一旦ssh断掉,创建索引的过程就会中断。有没有办法让这个操作在后台运行呢?