【发布时间】:2023-03-31 19:55:01
【问题描述】:
我正在尝试从具有类似结构的 Firebase 数据库中过滤结果。
chats
chatId
messages
messageId
userId: true
我需要两个查询,一个只返回包含现有子 userId 的消息(如果存在,它将始终为真),另一个只返回没有它的消息。
我正在尝试使用这两个引用并观察 .childAdded 事件:
let messagesWithUser = FIRDatabase.database().reference(withPath: "chats").child(chat.id).child("messages").queryOrdered(byChild: userId).queryEqual(toValue: true).ref
let messagesWithoutUser = FIRDatabase.database().reference(withPath: "chats").child(chat.id).child("messages").queryOrdered(byChild: userId).queryEqual(toValue: NSNull()).ref
目前 .childAdded 事件返回所有消息而不过滤。
【问题讨论】:
-
您希望变量 let messagesWithUser = 包含什么?
-
我用来观察 childAdded 事件的 FIRDatabaseReference。我希望它仅针对具有指定子项的消息触发。
标签: ios swift firebase firebase-realtime-database