打印出firebase子值

时间:2017-10-10 18:27:01

标签: ios swift firebase firebase-realtime-database

我想查看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")
            }
})

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

1 个答案:

答案 0 :(得分:1)

那是因为您正在观察.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")
    }

})

另见Searching through child values Firebase / Swift