抱歉我的英语水平不好,我来自阿根廷。
我在 Firebase 中有以下消息数据结构:
"messages"
"-KezmqXSdKCNFFA432Uc___-KfCEwklG_y3naRDIUiY"
"messageDate": "20170620"
"messageTime": "18:44"
"message": "Hi"
"-KezFDSAADFASFFS3221___-KASDF32324SDFASD1FS"
"messageDate": "20170620"
"messageTime": "22:23"
"message": "How are you?"
其中 -KezmqXSdKCNFFA432Uc 、 -KfCEwklG_y3naRDIUiY 、 -KezFDSAADFASFFS3221 和 -KASDF32324SDFASD1FS 是用户。
我的问题是我在“消息”节点中创建了一个 childEventListener 来接收新用户消息,但我收到了所有用户的所有新消息(我在每个应用程序中登录了一个用户),因为我的 childListener 在“消息”节点中.
如果我在添加消息时有 1000 个用户,一条新消息会到达这 1000 个用户,这是否正确? (假设在应用程序中,您可以检查该消息属于哪个用户)。
谢谢!
原文由 Agustin 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你做一个类似于这样的结构:
您可以将侦听器附加到 /userChats/userUID,这将显示活动聊天,将侦听器附加到 /chatMessages/chatUID,它将获取特定聊天对话的所有聊天消息。
这种方式更容易设置 firebase 安全规则,并且用户只会收到他们分开的聊天消息。