从 firebase 检索用户信息
Posted
技术标签:
【中文标题】从 firebase 检索用户信息【英文标题】:Retrieving user info from firebase 【发布时间】:2019-12-24 02:27:52 【问题描述】:我知道这个问题被问了很多,但似乎没有一个解决方案对我有用(我一直在尝试来自 Read data from firebase swift 等线程的多个解决方案,但它不会在我的控制台上打印任何内容)。 我正在尝试从我的数据库中检索用户的类型,但我不知道如何。
func pushUserInfo()
let ref = Database.database().reference()
let infoDict = ["First name": firstName.text!, "Last name": lastName.text!, "hours": 0, "isUser" : "user"] as [String : Any]
let users = ref.child("users").child(username)
users.setValue(infoDict)
显示 ["type": "user"] 的部分有两个选项,"user" 或 admin
上面的屏幕截图是 Firebase 实时数据库。 我正在尝试检索用户的类型,但我不知道如何。请帮我解决这个问题,如果可能的话,解释一下代码,因为我对 Firebase 的了解并不多。我尝试阅读他们的 firebase 文档,但我仍然不明白。
【问题讨论】:
【参考方案1】:看起来你设置的数据很好,除了你的username
属性似乎是两个可选的连接字符串(可能是firstName.text
和lastName.text
。所以这将使得无法查询。第一个步骤是将这些解包成一个字符串:
let username = "\(firstName.text!) \(lastName.text!)"
完成后,您可以像这样查询该数据:
let username = "\(firstName.text!) \(lastName.text!)"
let ref = Database.database().reference().child("users/\(username)")
ref.observeSingleEvent(of: .value, with: (snapshot) in
// Now you can access the type value
let value = snapshot.value as? NSDictionary
let type = value?["type"] as? String ?? ""
) (error) in
print(error.localizedDescription)
您可能还想重新考虑在属性名称中包含空格(可能使用lastName
而不是last name
)。以后你的代码会更容易。
【讨论】:
感谢您的帮助!感谢您的建议。以上是关于从 firebase 检索用户信息的主要内容,如果未能解决你的问题,请参考以下文章