ensureIndex
アプリケーションが変更されるたびに呼び出すのは適切app.configure
ですか?
新しいmongoインスタンスのみに設定する場合と比較して、起動時間がわずかに遅くなる以外に、欠点はありますか?
インデックスが既存のインデックスで呼び出されることを確認すると、noopとして登録されます。これは、から呼び出された場合でもアプリの速度が低下しないことを意味しますapp.configure
。
関数が実行されるだけで、インデックスが既に存在する場合は作成されないため、他の欠点はわかりません。
私は通常ensureIndex()
、アプリケーションのinitから呼び出し、予想される既存のコレクションのチェックにラップします。コレクションがすでに存在する場合は、DBがすでに適切にインデックス付けされていると想定し、ensureIndex()
呼び出しをスキップします。
詳細はこちら: Mongodb:ensureIndexをいつ呼び出すか?