2017-06-15 40 views
1
databaseReference.child("List").orderByChild("Country") 
           .equalTo("US") 
           .addListenerForSingleValueEvent(new ValueEventListener() { 

如果國家值僅爲「美國」,則可以正常工作。如何使用firebase(android)搜索regex?

但是,如果國家的價值超過一個字:「美國英國」它不顯示此值,在這種情況下如何搜索值「美國」?

感謝您的幫助!

+0

Firebase數據庫不支持包含*或*正則表達式的查詢。看到我的相關列表回答在這裏:https://stackoverflow.com/questions/39606627/firebase-app-search-feature-query-using-string-regex#comment66522784_39606627 –

+0

你想要做的事情看起來像一個分類項目。在這種情況下,通常會幫助創建倒排索引,將每個類別映射到與該類別匹配的項目。看看我的答案在這裏:http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value –

回答

1

這不是好的方法,但試試吧。

databaseReference.child("List") 
      .orderByChild("Country") 
      .addListenerForSingleValueEvent(new ValueEventListener(Child data){ 
       if (data.value().Country.equals("US UK") { 
       databaseReference.child("List").child(data.key).addListenerForSingleValueEvent..... 
       } 
      }) 

無論如何,我會嘗試另一種方式,稍後給你一個更好的答案。

+0

也許我錯了代碼,(例如:data.value ().getCountry()而不是data.value()。Country),但請理解它是如何工作的。越南人也很高興認識你。 –