0

大文字を無視する mongoDb リクエストを設定したい

テストユーザー名を持つユーザーが 1 人しかいない場合

db.users.find(
    { username: "test" }
)

私がプロファイルテストを返したいものを返します

db.users.find(
    { username: "Test" }
)

また

db.users.find(
    { username: "tEsT" }
)

しかし、私は大文字を無視することを知りません

ユーザー名Tobyを見つけたい場合も同じ問題

db.users.find(
    { username: "toby" }
)

ありがとう

4

1 に答える 1

2

次のような大文字を無視するには、正規表現を使用できます。

db.users.find({username: /test/i})

これにより、iオプションの状態は大文字と小文字を区別しません。ただし、これはインデックスにあまり適していません。

より良いオプションは、これをクライアント側で行うことです。すべてが小文字または大文字になるように、大文字と小文字を正規化します。そうすれば、通常どおりテストできます。

于 2012-11-20T13:46:12.727 に答える