Когда пользователь заходит (пользователь 1) на мой веб-сайт, он отображает данные, а когда другой пользователь (пользователь 2) отправляет новые данные, он должен добавить одну новую запись внизу исходного списка. Однако, когда другой пользователь (пользователь 2) отправляет новый запрос, на странице отображается исходный список, за которым следует тот же список, повторенный после первоначального списка, но также и с новой записью.
Я хочу добавить только эту новую запись в конец списка, не повторяя снова. Я пытался следовать этому и пробовал решение, но оно не работает для меня: Прослушиватель событий Firebase child_added, возвращающий дублирующиеся данные
Пример:
Вступление 1
Вступление 2
Вступление 3
Новая запись сделана пользователем 2:
Запись 1
Вступление 2
Вступление 3
Вступление 1
Вступление 2
Вступление 3
Вступление 4
Что я хочу это сделать:
Запись 1
Вступление 2
Вступление 3
Запись 4
Фрагмент кода:
let jobsArray = [];
let i = 0;
var element;
var ref = firebase.database().ref('requests');
ref.on('value', function(snapshot) {
snapshot.forEach(function(child) {
var datas = child.val();
var time = child.val().Scheduled_Time;
var name = child.val().Name;
var timeDriven = child.val().Time_Driven;
var date = child.val().Scheduled_Date;
var earnings = child.val().Estimated_Cost;
i++;
$('<div>', {id:'available' + i, class:"avail-accept-jobs-div margin-bottom-twentypx"}).appendTo('#availableJobs');
$('#available' + i).append('<div class="delete-job delete-avail-job"><p class="text-center font-weight-bold"><b>X</b></p></div>');
$('#available' + i).append('<p>Name: ' + name + '</p>');
$('#available' + i).append('<p>Date: ' + date + '</p>');
$('#available' + i).append('<p>Time: ' + time + '</p>');
$('#available' + i).append('<p>Drive Time: ' + timeDriven + '</p>');
$('#available' + i).append('<p>Potential Earnings: $' + earnings + '</p>');
$('#available' + i).append('<div class="accept-job-button text-center"><p>Accept</p></div>');
});
});
Мой вопрос:
Какой лучший способ предотвратить повторение записей?