我是Firebase的新用戶,在過去兩天中,我一直在試圖弄清楚如何在沒有任何成功的情況下對我的db執行簡單搜索。使用swift簡單搜索Firebase數據庫3
而且我想對所有的渠道進行兒童搜索。例如,我想搜索是否存在名爲Klx0N4pxsBHGVkhYuY0
的頻道。我嘗試
queryEqual(toValue: "Klx0N4pxsBHGVkhYuY0")
但沒有運氣。
非常感謝您的幫助。
我是Firebase的新用戶,在過去兩天中,我一直在試圖弄清楚如何在沒有任何成功的情況下對我的db執行簡單搜索。使用swift簡單搜索Firebase數據庫3
而且我想對所有的渠道進行兒童搜索。例如,我想搜索是否存在名爲Klx0N4pxsBHGVkhYuY0
的頻道。我嘗試
queryEqual(toValue: "Klx0N4pxsBHGVkhYuY0")
但沒有運氣。
非常感謝您的幫助。
您所要做的就是觀察該路徑,如果沒有數據,則snapshot.value
將爲零。
let ref = FIRDatabase.database().reference().child("channels").child("Klx0N4pxsBHGVkhYuY0")
ref.observeSingleEvent(of: .value, with: { (snapshot) in
if let value = snapshot.value as? Dictionary<String,Any> {
// There is data, so it exists
print(value)
} else {
// There is no data, so it doesn't exist
}
})
如果你只想「搜索,如果有一個名爲Klx0N4pxsBHGVkhYuY0通道」,你可以這樣做:
let ref = FIRDatabase.database().reference().child("channels")
ref.observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.hasChild("Klx0N4pxsBHGVkhYuY0") {
// yes, it is
} else {
// no, it isn't
}
})
希望它能幫助。
非常感謝弗拉德,你讓我的一天。希望你也有美好的一天。 – kstefanou
@kstefanou很高興聽到。祝你有美好的一天:) –
這不是一個實際的做法!您正在下載整個數據庫,然後搜索所有數據,這些數據在時間,Internet數據和計算能力方面都很昂貴。用我的回答,你只是在下載數據,這將節省時間和計算能力。你需要考慮哪種方法是正確的。 @kstefanou –
你的答案它也可以。謝謝你的時間和幫助。祝你有美好的一天。 – kstefanou