2017-11-21 17 views
0

私はコレクション内で一致する名前を見つけようとしています。一致した場合、クエリは拒否されます。

大文字と小文字を区別しない検索を行うために正規表現を使用しましたが(たとえば、GOD!== god)、それでも省略してください。

これは問題なく動作します。

field = 'name'; 
query[field] = { '$regex': new RegExp(req.body[field], "i"), '$options': 'i' }; 

問題は、単語の一部を使用しているときにも拒否されてしまうことです。たとえば、 スーパー管理者が挿入されます。管理者がスーパー管理者の一部であるため、管理者がスローするエラーが挿入されます。

正確に一致する大文字と小文字を区別しない検索のためにmongo db queryを書く方法。部品用ではありません。

ありがとうございます。あなたの正規表現に開始と終了の文字を追加することができ

答えて

0

field = 'name'; 
query[field] = { '$regex': new RegExp('^' + req.body[field] + '$', "i"), '$options': 'i' }; 

部分一致を排除する必要があります。

+0

驚くばかりです。ありがとう。 –

関連する問題