2017-10-17 12 views
2

クラウドFirestoreリストクエリの例の一つであるクラウドFirestore文字列> =文字列

citiesRef.where("state", ">=", "CA").where("state", "<=", "IN") 

それが何を意味するのでしょうか?

これは、部分文字列を検索するためのクエリを実行する方法です。たとえば、 私はユーザーのコレクションを持っており、すべてのユーザー文書にはfirst_nameとlast_nameがあります。今ではユーザーとして、名前の一部を入力して検索することで他のユーザーを検索しようとしています。私はその文字列を含む名前を持つすべてのユーザーを取得するためのクエリを書くことができるはずです。 Firestoreでどうすればいいですか?

+1

あなたがお互いに関連していない2つの異なる質問がある場合は、それらを個別にお問い合わせください彼らはより簡単に別々に答えることができます。 –

+0

私の言葉には申し訳ありません。トピックは関連しています。今私はこれを理解することをお勧めします。 –

+0

私は同意する必要があります。私はあなたの2番目の質問と答えを探してここに来ました。誰かが両方の質問に答えると、うまくいくが、2つの別々の質問をするのが本当に良いだろう。はい、それらは関連していますが、同じ質問ではありません。 – Methodician

答えて

2

[Google社員がここに]あなたの最初の質問、state <= "IN"stateプロパティの値が値"IN"以下ソートするすべての文書のクエリで答えるために。したがって、状態が"IM"の場合はtrue、それ以外の場合は"IO"または"IP"のようになります。

"IN"の使用は、ここでは混乱している可能性があります。インディアナ州の略語ですが、他の多くのデータベースシステムでも予約語です。

2番目の質問に答えるために、Cloud Firestoreは、 "includes"、操作、または "startsWith"、 "endsWith"、 "like"などの一般的な文字列クエリをサポートしていません。 Firestoreのクエリはインデックスにヒットしなければなりません。今は、それらのクエリを高速化する方法でテキストフィールドのインデックスを作成しません。

現在Algoliaのようなサードパーティの検索プロバイダーを使用することをお勧めします、と私たちはここにそうすることで、いくつかのガイダンスを提供します。 https://firebase.google.com/docs/firestore/solutions/search

関連する問題