打印出 Firebase 子值



我想浏览Firebase并检查子值是否存在以及该值是否存在。我想打印出一份声明

 databaseRef.child("books").queryOrdered(byChild: "Category").queryEqual(toValue: categorySegue).observe(.childAdded, with: { (snapshot) in
            if snapshot.exists() {
                print("data found")
            }else{
                print("no data found")
            }
})

当子值存在时,它会打印出完全正常但不存在的数据。它不打印出未找到的数据

这是因为您正在观察.childAdded,仅当有子项与您的查询匹配时才会触发。

如果还想检测没有子项匹配的情况,则需要观察.value事件并循环结果。

databaseRef.child("books").queryOrdered(byChild: "Category").queryEqual(toValue: categorySegue).observe(.childAdded, with: { (snapshot) in
    if snapshot.exists() {
        print("data found")
        for child in snapshot.children {
            print(child.key)
        }
    }else{
        print("no data found")
    }
})

另请参阅搜索子值 Firebase/Swift

最新更新