旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

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

2014年9月24日

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

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

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

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

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

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

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