生产中的Mongoid索引创建

时间:2017-04-21 09:05:38

标签: ruby-on-rails mongodb mongoid

我最近意识到我在模型中设置的索引不是自动生成的。我知道我可以使用rake任务:

rake db:mongoid:create_indexes RAILS_ENV=production

但我现在在我的数据库中有很多数据,并且期望创建索引需要一些时间来锁定MongoDB以用于其他请求。

有人知道它是锁定还是作为后台进程运行直到完成?

我忽略了什么吗?

1 个答案:

答案 0 :(得分:2)

您可以在后台构建索引,这样就不会影响您的查询:

db.collection.createIndex( { field: 1}, {background: true} )

有关详细信息,请参阅index build operations