我最近意识到我在模型中设置的索引不是自动生成的。我知道我可以使用rake任务:
rake db:mongoid:create_indexes RAILS_ENV=production
但我现在在我的数据库中有很多数据,并且期望创建索引需要一些时间来锁定MongoDB以用于其他请求。
有人知道它是锁定还是作为后台进程运行直到完成?
我忽略了什么吗?
答案 0 :(得分:2)
您可以在后台构建索引,这样就不会影响您的查询:
db.collection.createIndex( { field: 1}, {background: true} )
有关详细信息,请参阅index build operations