用于聊天的Firebase数据结构

时间:2016-11-03 04:26:44

标签: firebase firebase-realtime-database angularfire

我正在尝试构建一个供雇主与员工聊天的应用程序。

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

我是用$firebaseArray和孩子们做的:

recipient > sender > messages

我想添加发件人数据,例如个人资料图片和上一条消息,我不是怎么做的。

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

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

1 个答案:

答案 0 :(得分:2)

您可能遇到的问题只显示最新消息或更新消息,因为雇主上的任何一个消息 - >> 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
      }
 }
}

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