#javascript #jquery #firebase #firebase-realtime-database
#javascript #jquery — запрос #firebase #firebase-база данных в реальном времени #jquery
Вопрос:
В основном я пытаюсь перечислить идентификаторы пользователей по 1 за раз, а также их дочерние элементы (firstname, last name, email, picture), поэтому в основном я хочу, чтобы userid-> firstname, lastname, emailpicture зацикливались для каждого пользователя. это кажется очень трудным сделать в firebase.
макет firebase ( я не могу это изменить ) : https://i.imgur.com/mJ5whBC.jpg
Я не понимаю, как динамически захватывать всех родителей, поскольку у них есть случайно сгенерированные идентификаторы. я могу делать это один за другим, но мне нужно делать это динамически каждый раз, когда добавляется пользователь. Ниже приведен пример того, что я хочу сделать для каждого, но я вручную ввожу идентификатор, поэтому это довольно неуместно.
var database = firebase.database();
database.ref().once('value', function (data) {
picture = data.child("4320552453").child('picture').val();
firstName = data.child("4320552453").child('firstname').val();
lastName = data.child("4320552453").child('lastname').val();
email = data.child("4320552453").child('email').val();
$('#image').html('<img src="' picture '">')
$('#image').append(firstName)
$('#image').append(lastName)
$('#image').append(email)
my end goal is something like
div 1 userid 1 -> all information1 for each user
div 2 userid 2 -> all information for each user
div 3 userid 3-> all information for each user
Ответ №1:
Если вы хотите перебрать все дочерние узлы в DataSnapshot
, используйте DataSnapshot.forEach
. Итак:
database.ref().once('value', function (snapshot) {
snapshot.forEach(function(child) {
picture = child.child('picture').val();
firstName = child.child('firstname').val();
lastName = child.child('lastname').val();
email = child.child('email').val();
console.log(snapshot.key, email, firstName, lastName, picture);
});
});
Комментарии:
1. Ты ангел, большое тебе спасибо. Есть ли какой-либо способ также указать идентификатор пользователя (или случайную строку, которую я вызываю userid)?
2. Конечно. Это называется
snapshot.key
. Я настоятельно рекомендую сохранить справочную документацию дляDataSnapshot
удобного использования для такого рода вещей: firebase.google.com/docs/reference/js /…