フィールドを持つUserスキーマがありusernameます。このフィールドで大文字と小文字を区別して、ユーザーがBobDylan. ただし、新しいエントリを検証して重複がないことを確認するには、スキーマが必要bobdylanです。
調査の結果、一意かどうかを簡単に確認できるように、スキーマに小文字と大文字のバージョンを格納する追加のフィールドを作成する必要があることがわかりました。私の質問は、Mongoose API を使用してこれをどのように達成するかということです。
set次のような関数を使用してみました。
UserSchema.path('username_lower_case').set(function(username_lower_case) {
return this.username.toLowerCase()
});
ただし、この機能は実行されていないようです。私は基本的username_lower_caseに何であれusername、小文字であると言う必要があります。