2017-11-04 17 views
2

Firestoreデータベースに「California」という文字列があり、アンドロイドアプリから「Cali」と検索したい場合は、FirebaseがCaliforniaを返す必要があります。 どうすればそのクエリを行うことができますか?Firestoreでサブストリングを検索する方法はありますか?

ありfirestoreでいくつかの機能は、のように持ってい

db.collection("cities").whereEqualTo("name", "Cali") 
db.collection("cities").whereLessThan("name", "Cali") 
db.collection("cities").whereGreaterThanOrEqualTo("name", "Cali") 
db.collection("cities").whereGreaterThan("name", "Cali") 
db.collection("cities").whereGreaterThanOrEqualTo("name", "Cali") 

しかし、私は「カリ」部分文字列を含んでいる完全な文字列を返す必要があります

db.collection("cities").whereContain("name", "Cali") 

、などのような機能を必要としています。

答えて

2

などのメソッドはありません.EqualTo、whereLessThan、whereGreaterThanOrEqualTo、WhereGreaterThanまたはWhereGreaterThanOrEqualTo。あなたが代わりに行うことができ、実際にデータを取得し、このようメソッドを使用することです:

String str1 = document.getData(); 
String str2 = "Cali"; 
boolean b = str1.toLowerCase().contains(str2.toLowerCase()); 

あなたがbの値を印刷しようとするでしょう場合、あなたはそれがtrueで表示されます。

関連する問題