2016-11-03 3 views
0

Я пытаюсь создать приложение для работодателей, чтобы общаться с сотрудниками.Структура данных Firebase для чата

У меня есть работодатели, сотрудники и сообщения.

Я сделал это с $firebaseArray и Чайлдс:

recipient > sender > messages 

Я хочу добавить данные отправителя, такие как изображения профиля и последнее сообщение, я не то, как это сделать.

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

Это правильный способ сделать это или есть лучший способ? Благодарю.

+0

У вас есть информация о работодателе и сотруднике, такая как изображения профиля, данные в одном и том же дереве или в другом месте? – ughai

+0

он находится на другой базе данных sql, поэтому мне интересно, где я могу поместить ссылки –

ответ

2

Возможно, у вас возникли проблемы с отображением только последних сообщений или новых сообщений, так как любой пользователь нанимает наниматель_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 (updates)' для обновления любой части вашей базы данных firebase – ughai

+0

Я использую angularfire, https: // github.com/firebase/angularfire –

Смежные вопросы