我正在尝试为酒店预订创建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"
}
}
}
这是我的json格式的表'HotelLocation'但是我无法从这个表中只检索'uttara'的数据,即如果我搜索uttara那么我应该
Shuvashish酒店
Bodi hotel
我尝试使用'queryEqualToValue',但问题是'uttara,dhaka',因为firebase区分大小写。所以',dhaka'正在制造问题。
在Firebase中有没有办法使用SQL命令“%LIKE%”?
答案 0 :(得分:1)
如果您使用queryStartingAt(" uttara")和queryEndingAt(" uttara"),它将返回您想要的节点。
您无法对通配符字符进行精确搜索。
还有很多其他方法可以解决这个问题......
为引用这样的酒店的位置创建一个节点,然后您可以读取该节点并获得酒店列表:
uttara
H3: true
H4: true
或者另一种选择是创建对地点的引用 - 假设Shuvashish酒店在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