のような PostgreSQL クエリがありますLOWER(content) LIKE '%lra%'
。これをMongoDBに移行しています。私は同等のものを探しています。これは私がこれまでに持っているものです
db.contents.find({content: /lra/i})
正規表現でやっています。次のように指定する方法はありますか?
db.contents.find({content: {$lower: /lra/}})
のような PostgreSQL クエリがありますLOWER(content) LIKE '%lra%'
。これをMongoDBに移行しています。私は同等のものを探しています。これは私がこれまでに持っているものです
db.contents.find({content: /lra/i})
正規表現でやっています。次のように指定する方法はありますか?
db.contents.find({content: {$lower: /lra/}})
現時点では、完全なテーブル スキャンがないわけではありません。
最善の方法は、文字列を別のフィールドに既に小文字で格納してから、そのままの「実際の」フィールドを格納することです。
http://docs.mongodb.org/manual/reference/aggregation/toLower/#exp._S_toLowerを使用して集計フレームワークでこれを行うことができますが、率直に言って、上記の正規表現よりもはるかに優れているわけではありません。
@AdaTheDev が見つけたように、そのための JIRA があります: https://jira.mongodb.org/browse/SERVER-90