firebase检索用户数据swift

时间:2016-06-06 04:09:07

标签: swift firebase

我目前在firebase上遇到了几个问题,并且想知道是否有人可以帮助我。目前我有一个应用程序,有许多用户保存他们输入的数据。所有这些都是数字。数据库正在保存我希望它保存的方式。它通过一个密钥保存,并且在密钥内有UID,即“年度月份”和它们保存的数字。

我的问题是: 如何检索数据,以便它只取出用户保存的内容?如何使数据库仅检查当前用户保存的数据,然后允许对其进行检索。我已经在规则中对此进行了设置,其中用户必须同时进行读取和右侧身份验证。

任何人都可以指出我正确的方向,我已经阅读了所有的文档,并尝试了很多例子,我仍然无法弄明白。

提前感谢您提供任何帮助

1 个答案:

答案 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。