向所有父母及其子女查询

时间:2019-04-03 23:44:17

标签: javascript jquery firebase firebase-realtime-database

我基本上是在尝试一次列出用户ID 1以及它们的子元素(名字,姓氏,电子邮件,图片),所以基本上我想要userid->每个用户循环的名字,姓氏,emailpicture。在firebase中,这似乎很难做到。

firebase的布局(我无法更改):https://i.imgur.com/mJ5whBC.jpg

我不了解如何动态获取所有父母,因为他们有随机生成的ID。我可以一个一个地做,但是每次添加用户时我都需要动态地做。以下是我要为每个对象执行的示例,但是我手动输入了ID,因此它与实际无关。

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 个答案:

答案 0 :(得分:0)

如果要遍历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);
  });
});