随着MongoDB超时的增长,它提供数据的速度很慢。
我需要在几个字段上添加索引,并在搜索中立即反映出来。因此,我寻求澄清以下内容:
索引编制后是否必须重新启动MongoDB?
如果是,那么有什么方法可以在不重新启动服务器的情况下添加索引?我不要任何停机时间...
答案 0 :(得分:0)
建立索引后,无需重新启动MongoDB。
但是,默认情况下,createIndex操作会阻止对受影响的数据库进行读/写操作(请注意,它不仅是集合,而且是数据库)。您可以使用背景模式更改行为,如下所示:
db.collectionName.createIndex( { collectionKey: 1 }, { background: true } )
似乎在创建索引时您的客户端已被阻止。创建索引的mongo shell会话或连接将被阻止,但是如果数据库有更多连接,则这些连接仍将能够查询并在数据库上进行操作。
答案 1 :(得分:0)