首页 > 解决方案 > SWIFT - Firebase 数据库 - 为每个用户添加一个键和一个值

问题描述

目前我有一个现有的数据库,示例如下:

在此处输入图像描述

现在我想添加一个新键(比如 -counts: ""),因为我在 app.js 中有一个新功能。有没有可以向所有用户添加 /counts: "" 的功能?

我知道如何向一个用户添加键和值:

let uid = Auth.auth().currentUser?.uid
let dict = ["dob": ""] as [String : Any]
    REF_CURRENT_USER.updateChildValues(dict as [AnyHashable : Any], withCompletionBlock: { (error, ref) in
        if error != nil {

        } else {

        }

    })

但是我不知道如何在不手动将其添加到数据库中的情况下为每个现有用户添加键和值。

标签: swiftfirebasefirebase-realtime-database

解决方案


如果您知道该值所在位置的确切路径,则只能写入/添加该值。因此,要为每个用户添加一个属性,您需要:

  1. 加载所有用户(所以/Users节点)。
  2. 循环遍历该快照中的所有子节点
  3. 调用updateChildNodes()或对该子快照setValue()引用,例如childSnapshot.ref.child("counts").setValue(42)

推荐阅读