Я получил данные из коллекции пожарного магазина и сохранил их в массиве. Я использовал этот массив для ввода данных в таблицу данных, но таблица данных после загрузки отображает только одну запись, но я выбрал все документы в коллекции Firestore. В чем может быть проблема? Ниже приведен код javascript и html
<table class="table table-striped table-bordered" style="width:fit-content; " id="mydatatable">
<thead>
<tr>
<th scope="col">Document id</th>
<th scope="col">title</th>
<th scope="col">details</th>
<th scope="col">timestamp</th>
<th scope="col">name</th>
</tr>
</thead>
<tbody id="tableBody">
</tbody>
<tfoot>
<tr>
<th scope="col">Document id</th>
<th scope="col">title</th>
<th scope="col">details</th>
<th scope="col">timestamp</th>
<th scope="col">name</th>
</tr>
</tfoot>
</table>
var table = document.getElementById('tableBody');
var tableData = new Array();
db.collection("Emergency_Feeds").orderBy("timestamp", "desc").onSnapshot(function (querySnapshot) {
querySnapshot.docChanges().forEach(function (change) {
console.log('documents retrieved successfully');
console.log(`is here: ${change.doc.id} => ${change.doc.data().name}`);
var documentId = change.doc.id;
var username = change.doc.data().name;
var emTitle = change.doc.data().title;
var emDets = change.doc.data().details;
var emTimeDate = change.doc.data().timestamp.toDate();
if (change.type === "added") {
tableData = [
[
documentId,
emTimeDate,
emTitle,
emDets,
username
]
]
$('#mydatatable').DataTable({
retrieve: true,
data: tableData
});
}
if (change.type === "modified") {
tableData = [
[
documentId,
emTimeDate,
emTitle,
emDets,
username
]
]
$('#mydatatable').DataTable({
retrieve: true,
data: tableData
});
}
if (change.type === "removed") {
tableData = [
[
documentId,
emTimeDate,
emTitle,
emDets,
username
]
]
$('#mydatatable').DataTable({
retrieve: true,
data: tableData
});
}
});
});