#javascript #firebase-realtime-database
# #javascript #firebase-база данных в реальном времени
Вопрос:
Я пытаюсь понять Firebase, и я читал бесполезные документы и смотрел здесь, но, похоже, ни один из них не помог мне понять основы добавления и отображения из Firebase. Я пытаюсь добавить дочерний элемент в Salesperson, содержащий название и количество проданных автомобилей, чтобы затем я мог извлечь их и отобразить в таблице.
var salespersonRef = database.ref('Salespersons');
$("#add-user").on("click", function(event) {
event.preventDefault();
name = $("#name-input").val().trim();
cars_sold = $("#cars_sold-input").val().trim();
salespersonRef.child({
name: name,
cars_sold: cars_sold,
});
salespersonRef.on("value", function(snapshot) {
// Log everything that's coming out of snapshot
console.log(snapshot.val());
console.log(snapshot.val().name);
console.log(snapshot.val().cars_sold);
// Change the HTML to reflect
$("#name-display").text(snapshot.val().name);
$("#cars_sold-display").text(snapshot.val().cars_sold);
Итак, вот что у меня есть на данный момент для добавления и отображения. Он отображает текущее добавление, но он перезаписывает все, что я добавляю, и не создает другого дочернего элемента
Ответ №1:
Этот код ничего не делает:
salespersonRef.child({
name: name,
cars_sold: cars_sold,
});
Если вы пытаетесь добавить новый дочерний элемент в разделе salespersonRef
, он должен быть:
salespersonRef.push({
name: name,
cars_sold: cars_sold,
});
Каждый раз, когда вы можете push()
, он генерирует новое уникальное местоположение по этой ссылке.
Комментарии:
1. Да, это был мой текущий код, просто возился, пытаясь разобраться, спасибо, кстати. Как мне теперь отобразить уникальные ключи?
2. Вы, вероятно, ищете
snapshot.forEach(...)
, как показано здесь: firebase.google.com/docs/database/web /. …