当前位置: 首页 > 面试题库 >

从Firebase数据库中获取特定字段

华化
2023-03-14
问题内容

我正在研究Firebase项目,我在其中将用户信息存储在表中。现在,我的要求是在表中显示所有用户。这是我的数据库快照

我可以使用从数据库中获取所有用户

       if let user = FIRAuth.auth()?.currentUser {
            self.ref?.child("Users").observeSingleEvent(of: .value, with: { (snapshot) in
                // Get user value
                let value = snapshot.value as? NSDictionary
                let name = value?["name"] as? String ?? ""
                let email = value?["email"] as? String ?? ""


            // ...
            }) { (error) in
                print(error.localizedDescription)
            }
        }

上面的代码向我返回了包含bod,电子邮件,姓名,性别的用户数组。但是我只想获取电子邮件和用户名。 有没有一种方法只能从数据库中获取指定的字段?


问题答案:

读取节点时,必须检索其全部内容。因此,无法从读取路径时返回的数据中仅获取 特定 字段。

话虽如此,如果您的用例有可能,我建议您出于查询仅检索所需信息的目的而对数据进行非规范化。

为此,您可以有一个单独的节点,可以将其称为Users- NameandEmailList。现在,在此表中,将用户uid作为您的子项,并且每个条目应仅包含一个电子邮件和姓名字段。

像这样的东西:

Users-NameandEmailList :{

       user1key :{
             name : "ABC"
             email : "abc@abc.com"
                 },
       user2key : {..},

                        }

我同意这可能会导致数据复制,但是如果您想最大程度地减少下载冗余并优化速度,那么这就是路要走!



 类似资料:
  • 我正试图从我已经创建的firebase数据库中获得一个特定的值。我关注了这个youtube教程和另一个类似的问题,这与我试图实现的目标相当相关。 这就是我的Firebase数据库看起来像数据库树的样子 以下是我到目前为止所尝试的。现在我只尝试获得名称项 在Oncreate方法中: PlumberList类 应用程序几秒钟后崩溃。以下是错误logcat的外观 我是android编码的新手,所以我可能

  • 请帮助我想从Firebase实时数据库检索一个特定的数据,我有2个用户,教授和学生,我想使用该数据进行验证。 FireBase实时数据库 FireBase实时数据库

  • 有人能帮我做这个吗?

  • 一切正常,但DatabaseReference无法获取数据,这就像是忽略了我的代码运行,就像我的internet无法运行一样,请帮助我,我是这个社区的新手,下面是我的代码和图片。 以前它是工作的,但由于我只是更改了一些代码,使只有currentVersion>=vCode,这样即使数据库中的值是 firebase数据库映像 mainactivity.java manifest.xml 依赖关系

  • 我正在尝试获取我的用户名,并在应用程序打开时向他/她问好。但我无法根据某个用户的uid获取数据。当我运行应用程序时,祝酒词从未真正出现。 数据库结构 密码

  • 我正在使用forkify API制作一个配方搜索应用程序。我得到了这样的json(以披萨食谱为例)。我已经做了一个回收和搜索,但食谱本身是作为一个链接提供给该网站的配方(见json中的source_url)。我已经为此制作了一个网络视图,但有一个问题。我需要得到那个源url,并让它与我点击的菜谱匹配。我试图在Rescycler中创建一个额外的元素,小的不可见文本视图,并将source_url放在那