【问题标题】:firebase data retrieval - how to get data?firebase 数据检索 - 如何获取数据?
【发布时间】:2017-09-27 09:28:58
【问题描述】:

所以我的数据库是这样设置的-

-classes
    -ksOYOlOg8xfvjOFFwRMWWVdsfNG3
        -CS4001
            -csFlrY0P6vf5HwIPEfKYipPEdtt2
                -firstName: "John"
                -lastName: "Smith"

我需要在不知道每个用户 ID 的情况下遍历所有不同的名字和姓氏...

我用过这段代码-

var classes = db.ref("Classes/ksOYOlOg8xfvjOFFwRMWWVdsfNG3/CS4001");

 classes.on('value', function(snapshot) {
    snapshot.forEach(function(childSnapshot) {
      var childData = childSnapshot.val();
      console.log(childData);
    });
  });

该网站正在记录-

{FirstName: "John", LastName: "Smith"}

但是我无法从 childData 访问 firstName 和 lastname 的值,就像我可以使用常规 JSON 或其他任何东西一样,我尝试了很多方法,例如转换为字符串、json,但似乎都不起作用

似乎我可能完全错误地这样做了,所以如果有人知道如何能够从 CS4001 下检索每个名字和姓氏而不知道它存储在它下面的 UID,将不胜感激。

似乎我得到了一个包含所有键/值对的对象,但无法访问数据

为什么这个有名字/姓氏的对象,当我添加 toString 到它时,当它应该是一个字符串时打印出 [Object object]?那么 toString 函数有什么意义呢?好迷茫

【问题讨论】:

  • 您打错字了:您的结构是 classes 并且您的代码正在尝试访问 Classes - 大写与小写 'c'
  • 是的,对不起,这是我的错字,它不在我的项目中,我会修复它

标签: javascript firebase firebase-realtime-database


【解决方案1】:

我自己想出来的-

cs4001.orderByChild('LastName').on("child_added", function(snapshot) {
    console.log(snapshot.key + " is " + snapshot.val().LastName + " " + snapshot.val().FirstName);
  });

【讨论】:

  • 您的回答也有错字。子节点是姓氏,而不是姓氏。
猜你喜欢
  • 1970-01-01
  • 2016-11-22
  • 2016-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多