2017-04-21 98 views
1

我最近意識到,我在我的模型中設置的索引不是自動生成的。我知道,我可以用耙子任務是:在生產中創建Mongoid索引

rake db:mongoid:create_indexes RAILS_ENV=production 

但我現在有很多資料在我的數據庫,並預期該指數創建需要花些時間在MongoDB的鎖定其他請求。

有沒有人知道它是否被鎖定或作爲後臺進程運行,直到完成?

我忽略了什麼嗎?

回答

2

你可以建立在後臺索引,這樣就不會影響到你的查詢是這樣的:

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

詳細內容見index build operations

+0

非常感謝。有效。索引創建只持續了幾秒鐘。所有的恐懼都被誇大了^^ –