如何从 Firebase 数据库中的 autoID 获取价值 - Swift

Posted

技术标签:

【中文标题】如何从 Firebase 数据库中的 autoID 获取价值 - Swift【英文标题】:How to get value from autoID in Firebase Database - Swift 【发布时间】:2021-01-30 22:32:18 【问题描述】:

我有这段代码,我想显示来自 Firebase 数据库的 AutoIds 值的计数。 '

    let uid = Auth.auth().currentUser?.uid
    let ref = Database.database().reference().child("userInfo").child(uid!)
    ref.child("users").child(//here should be an auto Id from firebase).observe(DataEventType.value)  snapshot in
        let numberOfusers = snapshot.childrenCount
        print(snapshot.childrenCount)

    

 
  "userInfo" :  
    "baxUvpqL4cMf9p6mqv9czB0FrNN2" :  
      "dateOfEvent" : "31.10.2021", 
      "guests" :  
        "-MRK4bbtD4yL4EIsvMnF" :  
          "age" : "child", 
          "attending" : "attending" 
        
      
      ...

这里会有更多的自动 ID,所以我需要它,我需要计算所有值“参加”的自动 ID。

【问题讨论】:

您能否编辑您的问题以在userInfo 显示JSON(作为文本,请不要截图)?您可以通过单击Firebase Database console 上溢出菜单 (⠇) 中的“导出 JSON”链接来获取此信息。 "userInfo" : "baxUvpqL4cMf9p6mqv9czB0FrNN2" : "dateOfEvent" : "31.10.2021", "guests" : "-MRK4bbtD4yL4EIsvMnF" : "age" : "child", "attending " : "参加" @FrankvanPuffelen 【参考方案1】:

获取标记为出席的客人人数的最简单方法是use a query:

let ref = Database.database().reference().child("userInfo").child(uid!)
let query = ref.child("guests").queryOrdered(byChild: "attending").queryEqual(toValue: "attending")
query.observe(.value)  snapshot in
    let numberOfusers = snapshot.childrenCount
    print(snapshot.childrenCount)

【讨论】:

以上是关于如何从 Firebase 数据库中的 autoID 获取价值 - Swift的主要内容,如果未能解决你的问题,请参考以下文章

访问唯一 AutoID 中的 Firebase 数据

Firebase 实时规则如何检查具有 AutoID 的节点是不是包含正确的数据

如何在swift ui中使用autoid将带有字段的新文档添加到firebase集合

在 Firebase 中查询以下 AutoID

AutoID 的 Swift Firebase 数据库数组

Firebase,Swift:仅检索那些具有特定键的“autoID”节点