【发布时间】:2021-09-14 14:40:17
【问题描述】:
我正在尝试在特定键的数组中添加侦听器。
例如:-
我有这个 firebase 数据库结构:
user
-> userid
-> username
-> userPhone
-> userAddress
-> [0]: City
-> [0]: State
代码:-
func listenUserIds() -> ListenerRegistration {
let listener = db.collection("user")
.whereField("userid", isEqualTo: self.profileID)
.addSnapshotListener { querySnapshot, error in
if let error = error {
print("listener error: \(error.localizedDescription)")
return
}
if let snapshot = querySnapshot {
snapshot.documentChanges.forEach { diff in
let userAddress = diff.document.data()
print(userAddress)
}
}
}
return listener
}
屏幕截图:-
但是当任何用户改变他们的城市时,声明监听器不要调用。
有人可以向我解释如何在城市或州上设置侦听器,当城市和州值发生任何变化时,侦听器会自动调用。我已经尝试按照上面的方法实现,但还没有结果。任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
现在将数据结构映射到代码有点困难。您可以编辑您的问题并显示数据库中的实际 JSON(作为文本,请不要截图)?您可以通过单击Firebase Database console 上溢出菜单 (⠇) 中的“导出 JSON”链接来获取此信息。
-
@FrankvanPuffelen 我正在使用 Firestore 数据库。
-
糟糕,我错过了。这种情况下,您能否在 Firebase 控制台中发布文档(包括其路径)的屏幕截图?
-
@FrankvanPuffelen 更新请测试
-
@FrankvanPuffelen 对我来说有可能吗?
标签: swift firebase firebase-realtime-database