我目前在firebase上遇到了几个问题,并且想知道是否有人可以帮助我。目前我有一个应用程序,有许多用户保存他们输入的数据。所有这些都是数字。数据库正在保存我希望它保存的方式。它通过一个密钥保存,并且在密钥内有UID,即“年度月份”和它们保存的数字。
我的问题是: 如何检索数据,以便它只取出用户保存的内容?如何使数据库仅检查当前用户保存的数据,然后允许对其进行检索。我已经在规则中对此进行了设置,其中用户必须同时进行读取和右侧身份验证。
任何人都可以指出我正确的方向,我已经阅读了所有的文档,并尝试了很多例子,我仍然无法弄明白。
提前感谢您提供任何帮助
答案 0 :(得分:0)
如何检索数据,以便只提取用户的内容 保存?
如何让数据库仅检查当前保存的数据 用户,然后允许它被检索。
这些问题略有不同,但似乎也提出同样的问题。
假设您的问题,结构如下
firebase_key_0
user_id: uid_0
month: 06
number: 42
firebase_key_1
user_id: uid_1
month: 03
number: .14
然后是一个基本的firebase查询来获取特定数据;这是获取用户uid_1号码的代码:
ref.queryOrderedByChild("user_id").queryEqualToValue("uid_1")
.observeSingleEventOfType(.Value, withBlock: { (snapshot) in
if ( snapshot.value is NSNull ) {
print("not found")
} else {
for child in snapshot.children {
let n = child.value["number"] as! String
print(n) //prints .14
}
}
})
还包含一些额外的错误检查,以及能够处理返回多个子节点的.Value。例如,如果uid_1存储了多个数字,则会检索所有数字并打印每个数字。
当登录时,将从其authData.uid获取当前用户uid。