2017-07-10 19 views
0

大文字と小文字を区別するキーを含むFirebase DBに問題があります。たとえば、登録する新規ユーザーごとに「ユーザー名」キーを作成します。私は正規表現を通してこの "Username"値を検証し、入力された値がすでにデータベースに存在するかどうかをチェックします(ユーザ名の利用可能性を確認しています)。私の問題は、Firebaseが、同じ値の異なる文例が異なる値であると仮定したことです。例えばFirebaseで異なる大文字/小文字のユーザ名を扱うには?

「ユーザー名」:ジョン「ユーザー名」:ジョンが、私は、ユーザーの希望のユーザー名の入力文字列を取って考えていた二つの異なる/ユニークユーザー名

と見られているとすべて大文字(またはすべて小文字)にして、データベースに統一性を持たせていますが、大文字と小文字が混在したユーザー名を持つことはできません。これを回避する方法はありますか?

+1

大文字のユーザー名をキーとして使用します。値は、ユーザー指定のユーザー名を含むユーザー情報です。 – Chet

+0

私は通常、検索のために第2のプロパティを追加します。まあ....私は通常、フルテキスト検索サービスを追加します。しかし、それがオプションでない場合は、検索のために 'UsernameLowercase'または' UsernameIdiomatic'を追加します。 –

+0

だから、これはあなたが望むものではありませんか?大文字と小文字が混在したユーザ名の場合、Firebaseは大文字と小文字を区別する必要がありますか?または、 "John"と "John"が同じキーになるようにしますか?その場合、ユーザー名は大文字と小文字が区別されなくなり、大文字と小文字が混在する可能性が失われます。 大文字小文字を区別しないように、大文字と小文字が混在した大文字小文字を入力できるように見えます。その場合、@ FrankvanPuffelenが述べたように、 'UsernameLowercase'が行く方法だと私は考えます。 – Ari

答えて

0

私はfirebaseを使用して同じ問題がありました。解決策は、私のシステム上の "検索可能な"フィールドの小文字の新しいプロパティを作成することでした。また、私はこのプロパティの単語からアクセントを削除します。

関連する問題