を検索:のMongoDB - 大文字に格納された値を強制的に、私はの効果に何かを行うことができますSQLの世界で
SELECT name FROM table WHERE UPPER(name) = UPPER('Smith');
と、これは「スミス」、「SMITH」、「SMITH」の検索に一致するだろう、これは、クエリと値が同じ場合に強制されるためです。
しかし、MongoDBはインデックスを使用せず、大量のデータに対しては遅くなるRegExを使用しないと、この機能を持たないようです。
保存された値をMongoDBで検索する前に特定のケースに変換する方法はありますか?
私は$ toUpper集約を見つけましたが、この特定のケースでどのように使用されるかわかりません。
検索する前に保存された値を変換する方法がない場合、MongoDBがMongoで作成されたときに値を変換することは可能ですか?コレクションにドキュメントを追加すると、「名前」属性が特定のケースに強制されます。 Railsの世界ではコールバックのようなものです。
ストアドプロシージャと同様に、MongoDB用にストアドJSを作成する機能があるようです。それは実現可能な解決策でもありますか?
ほとんどの場合、正しい方向にプッシュを探します。一度私が探しているものを知ったら、特定のコードを理解することができますが、これまでのところ、私の望む機能が実行可能かどうかはわかりません。
。私はMongoImporterツールを使用してデータの一部を読み込んでいますので、MongoDBに取り込まれる前にデータを正規化する便利な手段はありません。私は最終的に読み込む前に、いくつかの中途半端な仕事をしなければならないかもしれないように見えます。 –