用于聊天的 Firebase 数据结构

Firebase data structure for chat

我正在尝试开发一款供雇主与员工聊天的应用程序。

所以我有雇主、雇员和消息。

我和 $firebaseArray 以及孩子一起做的:

recipient > sender > messages

我想添加发件人数据,例如个人资料图片和最后一条消息,我不知道该怎么做。

- employer_1
    - employee_1
       - SKLDJLKDksdklJS
              - content: "Hello"
              - timestamp: 129081021

这是正确的方法还是有更好的方法?谢谢

您可能会遇到仅显示最新消息或较新消息的问题,因为 employer_1 -> employee_1 上的任何消息都会加载所有消息。

另一种替代方法可能是具有如下结构:

{
"users":{
  "employer_1":{
     "profile-image":"<url>",
     "last-message":"SKLDJLKDksdklJS",
     ...
     },
   "employee_1"{
       "profile-image":"<url>",
       "user-chat-list":{
          "employer_1":{
              "last-message":"SKLDJLKDksdklJS",
              "message-list":{
                  "SKLDJLKDksdklJS" : 129081021,
                  "ASDCJLKDksdklJS" : 129081021
              }
          }
       }  
   }
 },
 "messages":{
    "SKLDJLKDksdklJS":{
       "content": "Hello",
       "sender":"employer_1",
       "timestamp": 129081021
      }
 }
}

您不需要获取所有包含聊天列表内容的消息。