Я веду чат с собственной базой данных реагирования. Вот структура базы данных.
То, что я пытаюсь сделать, это то, когда сначала открывается экран чата, а затемон выбирает сообщения из базы данных Firebase и показывает их в виде плоского списка, а после этого прослушивает новые входящие сообщения или добавляет новые данные в базу данных сообщений. Я пробовал два способа.
Первый:
firebase.database().ref('messages/'+pairId).on('value',(snapshot)=> {
snapshot.forEach((childSnapshot) =>{
var childKey = childSnapshot.key;
var childData = childSnapshot.val();
console.log("childData",childData)
})
});
Второй способ:
firebase.database().ref('messages/'+pairId).on('child_added', (snapshot)=> {
console.log("PARENT",snapshot.val())
snapshot.forEach((subSnapshot) =>{
// console.log("CHILDADDED",subSnapshot)
})
});
Оба извлекают сообщения из базы данных при вызове инициализации, но проблема заключается в том, что в консоли сообщения реплицируются при отправке в базу данных, а также нет случаев их репликации в базе данных в базе данных firebase. Какой правильный способ добиться того, чего я хочу?