访问Firebase中的嵌套数据

问题描述:

我无法从Firebase中获取我的网络应用中的正确数据。访问Firebase中的嵌套数据

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

database

现在我只是将数据记录到控制台来获取数据结构的感觉。 PS。我没有组织数据,有人在我面前做过。

code

在那里我有我两个注释掉变量曾试图在键入关键的之一,看看我能得到的数据,但它不工作。

+0

您需要更清楚。哪些密钥是随机的?你想如何查询它?您是否想要使用特定的打开票证属性进行查询? – cartant

+0

现在,openTickets下面是一张带有随机键名称的门票列表。我是Firebase的新手,我更习惯于使用JSON数据,并且能够轻松获取我想要的超级数据。我只是对概念进行测试的证据,就像我去的那样。我想从数据库和console.log中选择一张票据数据。在这一点上,我已经获得了Inspector中所有东西的console.log。 –

如果你是下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. 
+0

谢谢,我会试试。我没有意识到你可以链接两个孩子的方法。我想我现在知道该怎么做。我需要将观察到的变量放入变量中。 –