1

のような PostgreSQL クエリがありますLOWER(content) LIKE '%lra%'。これをMongoDBに移行しています。私は同等のものを探しています。これは私がこれまでに持っているものです

db.contents.find({content: /lra/i})

正規表現でやっています。次のように指定する方法はありますか?

db.contents.find({content: {$lower: /lra/}})
4

1 に答える 1

4

現時点では、完全なテーブル スキャンがないわけではありません。

最善の方法は、文字列を別のフィールドに既に小文字で格納してから、そのままの「実際の」フィールドを格納することです。

http://docs.mongodb.org/manual/reference/aggregation/toLower/#exp._S_toLowerを使用して集計フレームワークでこれを行うことができますが、率直に言って、上記の正規表現よりもはるかに優れているわけではありません。

@AdaTheDev が見つけたように、そのための JIRA があります: https://jira.mongodb.org/browse/SERVER-90

于 2013-02-15T11:57:41.830 に答える