アプリで簡単な検索機能を作成したいのですが、2014 年より新しい情報についてはインターネット上で何も見つかりません。もっと良い方法があるはずです。startAt 関数と endAt 関数がありますが、期待どおりに動作せず、大文字と小文字が区別されます。この問題をどう解決しますか? 2016 年になってもこの機能が存在しないのはなぜですか?
ベストアンサー1
私の場合、次の方法で SQL LIKE を部分的に実現できました。
databaseReference.orderByChild('_searchLastName')
.startAt(queryText)
.endAt(queryText+"\uf8ff")
クエリで使用されている文字は\uf8ff
、Unicode 範囲の非常に高いコード ポイントです (これはプライベート使用領域 [PUA] コードです)。これは Unicode のほとんどの通常の文字の後にあるため、クエリは で始まるすべての値と一致しますqueryText
。
このように、「Fre」で検索すると、データベースからプロパティの値として「Fred、Freddy、Frey」を持つレコードを取得できます_searchLastName
。