2016-11-03 99 views
0

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

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

我做到了与$firebaseArray和孩子的:

recipient > sender > messages 

我要添加发送数据,如个人资料图片和最后的消息,我不如何做到这一点。

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

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

+0

你有雇主和雇员的信息,如个人资料图片,细节在同一棵树或在不同的位置? – ughai

+0

它是在不同的SQL数据库,所以我想知道我可以把链接 –

回答

2

您可能遇到显示最新消息或更新消息的问题,因为在employee_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 
     } 
} 
} 

你不会需要获取所有的聊天列表内容的消息。

+0

这种方式使用$ firebaseObject而不是$ firebaseArray?只是确保。我是新手,谢谢 –

+0

你在使用什么客户端库?你可以通过使用'var db = firebase.database();'然后使用'db.ref()。update(更新)'来更新你的Firebase数据库的任何部分 – ughai

+0

我使用的是angularfire,https:// github.com/firebase/angularfire –