【问题标题】:Querying all parents and their children Firebase查询所有父母及其子女 Firebase
【发布时间】:2019-04-04 08:16:19
【问题描述】:

我基本上是尝试一次列出 1 个用户 ID 以及它们的子元素(名字、姓氏、电子邮件、图片),所以基本上我希望每个用户都循环使用 userid--> firstname,lastname,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

【问题讨论】:

    标签: javascript jquery firebase firebase-realtime-database


    【解决方案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);
      });
    });
    

    【讨论】:

    • 你是天使,非常感谢。有什么办法也可以吐出用户标识(或即时调用用户标识的随机字符串)?
    • 当然。这称为snapshot.key。我强烈建议保留 DataSnapshot 的参考文档以方便处理此类事情:firebase.google.com/docs/reference/js/…
    猜你喜欢
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 2011-01-12
    • 1970-01-01
    相关资源
    最近更新 更多