それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

mongooseが自動でensureIndexするタイミング

mongoose には、自動で Schema に同期して MongoDB のインデックスを貼り直す機能があります。

しかし、それがいつのタイミングで行われるのかは、そのことについて言及している IndexesautoIndex、そして Model.ensureIndexes を確認しても、start up 時としか記述がありません。

mongoose.model で Model を生成した時に ensureIndexes される

ということで、中身を見て確認したところ、Model を生成した時点で実行されていることがわかりました。(→検証コード

なお、その時点で接続できない場合については未調査です。

なおなお、ensureIndexes は、Schema に整合しないデータ(例えば unique:true なのに重複データが入っているなど)がある場合、該当の設定を無視して Index を全く作らないようです。

・・・と、最後にサラッと書いたやつ、ぼくは凄く怖い挙動だと思いました。


One Response to “mongooseが自動でensureIndexするタイミング”


コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives