访问Firebase中的嵌套数据

时间:2017-01-03 05:31:16

标签: firebase firebase-realtime-database

我无法从Firebase在我的网络应用中获取正确的数据。

问题是我想要一个名为“随机数”的对象中的数据。我希望能够将所有字段都放入变量中,以便我可以测试,设置我的页面以显示所有数据,这类事情。但我迷失了如何查询这些键才能使用它们。

database

现在我只是将数据记录到控制台以了解数据结构。 PS。我没有组织数据,有人在我之前做过。

code

我有两个已注释掉的变量,我曾尝试输入其中一个键来查看是否可以获取数据,但它不起作用。

1 个答案:

答案 0 :(得分:3)

如果您要检索inspectors下的所有内容,则可以访问以下数据:

firebase
  .database()
  .ref()
  .child('inspectors')
  .once('value', function (inspectorsSnapshot) {

    inspectorsSnapshot
      .child('obfuscated') // This key is obfuscated in your question.
      .child('openTickets')
      .forEach(function (openTicketSnapshot) {
        console.log(openTicketSnapshot.key); // The random key.
        var val = openTicketSnapshot.val();
        console.log(val.address);
        console.log(val.assignedInspector);
        // etc.
      });
  });

您还可以优化查询本身以仅检索所需的数据:

firebase
  .database()
  .ref()
  .child('inspectors')
  .child('obfuscated') // This key is obfuscated in your question.
  .child('openTickets')
  .once('value', function (openTicketsSnapshot) {

    openTicketsSnapshot.forEach(function (openTicketSnapshot) {
      console.log(openTicketSnapshot.key); // The random key.
      var val = openTicketSnapshot.val();
      console.log(val.address);
      console.log(val.assignedInspector);
      // etc.
    });
  });

而且,如果您只想要前几个条目:

firebase
  .database()
  .ref()
  .child('inspectors')
  .child('obfuscated') // This key is obfuscated in your question.
  .child('openTickets')
  .limitToFirst(10)
  .once( ... // etc.