2017-04-21 56 views
1

我最近意识到,我在我的模型中设置的索引不是自动生成的。我知道,我可以用耙子任务是:在生产中创建Mongoid索引

rake db:mongoid:create_indexes RAILS_ENV=production 

但我现在有很多资料在我的数据库,并预期该指数创建需要花些时间在MongoDB的锁定其他请求。

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

我忽略了什么吗?

回答

2

你可以建立在后台索引,这样就不会影响到你的查询是这样的:

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

详细内容见index build operations

+0

非常感谢。有效。索引创建只持续了几秒钟。所有的恐惧都被夸大了^^ –