生产中的 Mongoid 索引创建

Mongoid Index Creation in Production

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

rake db:mongoid:create_indexes RAILS_ENV=production

但是我现在在我的数据库中有很多数据并且预计索引创建需要一些时间,其中 MongoDB 被其他请求锁定。

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

我是不是忽略了什么?

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

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

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