一尘不染

Firebase-如何获取observeEventType =值中的键值

swift

这是Firebase的后续问题-构建数据库的正确方法

我具有以下数据库结构:

"artists" : {
  "-KKMkpA22PeoHtBAPyKm" : {
    "name" : "Skillet"
  }
}

我想查询歌手参考,看看歌手是否已在数据库中,以及歌手是否在数据库中,请获取歌手键(在上面的示例中为 -KKMkpA22PeoHtBAPyKm )。

我尝试了这个:

artistsRef.queryOrderedByChild("name").queryEqualToValue("Skillet").observeEventType(.Value, withBlock: { (snapshot) in
        if snapshot.exists() {
            print("we have that artist, the id is \(snapshot.key)")
        } else {
            print("we don't have that, add it to the DB now")
        }
    })

但是“ snapshot.key”只给了我“艺术家”的父密钥。

如何获得所需的钥匙?


阅读 207

收藏
2020-07-07

共1个答案

一尘不染

在if条件下,您需要获取allKeys才能获取“ -KKMkpA22PeoHtBAPyKm” …

    if snapshot.exists() {
        for a in (snapshot.value?.allKeys)!{
            print(a)
        }
    } else {
        print("we don't have that, add it to the DB now")
    }
2020-07-07