2017-06-15 41 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),但请理解它是如何工作的。越南人也很高兴认识你。 –