我正在使用 JSQMessagesViewController 聊天</p>
以下在快照中返回null
private func observeMessages() {
let messagesQuery = messageRef.queryLimitedToLast(50)
let query = messagesQuery.queryEqualToValue("100", childKey: "recipient")
query.observeEventType(.ChildAdded, withBlock: { snapshot in
let id = snapshot.value!["sender"] as! String
let text = snapshot.value!["text"] as! String
let recipient = snapshot.value!["recipient"] as! String
self.addMessage(id, text: text, recipient:recipient)
self.finishReceivingMessage()
})
}
返回数据如下
private func observeMessages() {
let messagesQuery = messageRef.queryLimitedToLast(50)
messagesQuery.observeEventType(.ChildAdded, withBlock: { snapshot in
let id = snapshot.value!["sender"] as! String
let text = snapshot.value!["text"] as! String
let recipient = snapshot.value!["recipient"] as! String
self.addMessage(id, text: text, recipient:recipient)
self.finishReceivingMessage()
})
}
我需要按收件人过滤,我的 firebase 数据库树如下所示
我一直在谷歌和 SO 这里搜索,但找不到任何解决方案
最佳答案
您正在使用 queryEqualToValue
的变体,它无法满足您的要求。
改用这个:
let query = messagesQuery. queryOrderedByChild("recipient").queryEqualToValue("100")
关于swift - FIRDatabaseReference messagesQuery.queryEqualToValue 什么都不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39097285/