swift - FIRDatabaseReference messagesQuery.queryEqualToValue 什么都不返回

标签 swift firebase

我正在使用 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 数据库树如下所示

enter image description here

我一直在谷歌和 SO 这里搜索,但找不到任何解决方案

最佳答案

您正在使用 queryEqualToValue 的变体,它无法满足您的要求。

改用这个:

let query = messagesQuery. queryOrderedByChild("recipient").queryEqualToValue("100")

关于swift - FIRDatabaseReference messagesQuery.queryEqualToValue 什么都不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39097285/

相关文章:

swift - 如何配置 WKWebView 来填充 NSWindow?

swift - Kitura iOS 应用程序用户身份验证 mongodb

ios - 无法从 Cocoapod Xcode 7.2.1 Swift 2.2 解析标识符

android - 一次查询多个 ID 的 Google Firestore

firebase - Firebase onWrite() 的云函数 promise 总是超时

firebase - 我如何从实时Firebase数据库中获取此数据并添加到列表中?

ios - 为什么tableview的setSelected(_ :animated:) and setHighlighted(_:animated:) method called on init/load?

swift - 将 NSObject 转换为可序列化的 JSON?

ios - Firebase 图像上传进度屏幕指示器 -Swift iOS

java - 如何在上传到 firebase 时压缩图像?