繁体   English   中英

如何使用复杂的查询从Firebase检索数据?

[英]How can I use a complex query to retrieve data from Firebase?

我正在尝试为预订酒店创建ios应用程序。 我所有的数据都存储在firebase中。 我酒店的名称和位置存储在“ HotelLocation”表中。

{
"HotelLocation": {
    "H1": {
        "name": "Ghetu hotel",
        "location": "shonargao,dhaka"
    },
    "H2": {
        "name": "BB hotel",
        "location": "gulshan,dhaka"
    },
    "H3": {
        "name": "Shuvashish hotel",
        "location": "uttara,dhaka"
    },
    "H4": {
        "name": "Bodi hotel",
        "location": "uttara,dhaka"
    }
  }  
 }

这是表'HotelLocation'的json格式,但是我无法仅从表中获取数据'uttara',即如果我搜索uttara,则应该

  1. 舒瓦什酒店

  2. 博迪酒店

我尝试使用“ queryEqualToValue”,但问题是“ uttara,dhaka”,因为firebase区分大小写。 所以',dhaka'造成了问题。

有什么方法可以在Firebase中使用SQL命令“%LIKE%”?

如果使用queryStartingAt(“ uttara”)和queryEndingAt(“ uttara”),它将返回您想要的节点。

您只是无法对通配符char进行精确搜索。

还有很多其他方法可以解决此问题,例如...

为引用酒店的位置创建一个节点,就像这样,然后您可以读入该节点,并获得酒店列表:

uttara
   H3: true
   H4: true

另一个选择是创建对位置的引用-假设Shuvashish Hotel在uttara和shonargao中都有位置。 深度查询Hotels节点的位置/ L1 = true将返回H3

locations
   L1: "uttara"
   L2: "gulshan"
   L3: "shonargao"


Hotels
     H2
       "name:": "BB hotel"
       "locations"
          L2: true
    H3
       "name": "Shuvashish hotel",
       "locations"
          L1: true
          L3: true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM