这是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”只给了我“艺术家”的父密钥。
如何获得所需的钥匙?
在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") }