既存の (そして有用な) firebase データ構造参照を含めて、これを前置きします。
https://www.firebase.com/blog/2013-04-12-denormalizing-is-normal.html
しかし、私が探しているのは、MySQL の WHERE LIKE と同義の何か、つまり、特定の部分文字列を含むレコードを返す機能です。
具体的には、アプリのすべての(パブリック)ユーザーを(ユーザー名/名前/メール/電話/これらすべてで)検索する方法をユーザーに提供したいと考えています。
すべてのユーザーをダウンロードしてから角度フィルター/クライアント側の代替フィルタリングを使用したくない. )
たとえば、ツリー構造の使用を検討しました。
- users
- username
- a
- an
- and
- andy
- andr
- andre
- andrea
- andrew
- ann
- anne
次に、ユーザーが「a」を入力したときにusers/username/aを参照し、「an」の場合はusers/username/a/anなどを参照し、検索語に基づいてユーザーのサブセットのみを効果的に参照できます。
データを非正規化して構造をフラットに保つというアドバイスとともに、NoSQL の性質を考慮すると、この構造は理にかなっていますか?
または、LIKE esqueクエリを実行するための代替/より良い方法はありますか?