【发布时间】:2021-07-12 12:46:18
【问题描述】:
有没有一种方法可以根据某些标准快速替换 Firebase 快照中的值。例如,我希望将所有“用户名”替换为值“xyz”,其中 userId = userId_0001(userId 不是唯一的)。到目前为止,这是我的代码:
let databaseRef = Database.database().reference().child("usernames").queryOrdered(byChild: "userId").queryEqual(toValue: "userId_0001")
databaseRef.observe(.value, with: { (snapshot) in
for childSnapshot in snapshot.children {
let username = value?["username"] as? String ?? ""
username.setValue("xyz")
})
}
【问题讨论】:
-
乍一看,该代码看起来不错。运行时有什么问题?
-
是用户ID的错别字吗?图片显示
userId_001,您的代码引用userId_0001。 -
该代码存在许多问题。照原样,它不会编译也不会运行,我不确定这应该做什么;
value?["username"] as? String ??。即使它已编译,userName 也将是一个字符串,因此username.setValue("xyz")将不起作用。我认为您正在尝试在 Firebase 中设置该值?如果是这样,请查看入门指南Write Data。您能否包含您尝试过的实际代码?
标签: swift firebase firebase-realtime-database firebase-authentication