2017-08-10 64 views
-4

如何在不知道孩子元素的密钥的情况下获取子元素的价值?下面的示例数据结构;Firebase:在不知道密钥的情况下获取孩子的价值

->cars 
-->3282jasjd893j: doors 
-->819idid82jkdf: windows 
-->fjf842jr8448r: audi 

我需要在不知道按键的情况下得到值“门”,“窗口”,“奥迪”。

任何意见将不胜感激!

+1

你到目前为止试过了什么?请分享一些代码。 –

+0

我们应该神奇地猜测你想用什么语言来做? –

+1

你必须得到整个'cars'节点,然后遍历它的键。 – 2017-08-10 07:32:42

回答

0

非常感谢您的所有意见和建议。我现在得到了答案,这里是:

 let inputArray = []; 
    snapshot.forEach(snap => { 
    inputArray.push(snap.val()); 
    return false; 
    }); 
1

虽然你回答了你自己的问题,但它可能不会是一个好的长期解决方案。

例如:假设您想要门节点并且有100,000个其他节点。你将不得不加载全部100,000个并遍历它们来定位节点。这可能会超出设备的容量,并导致用户体验不佳。

更好的答案是修复结构:

cars 
3282jasjd893j: 
    item: doors 
819idid82jkdf: 
    item: windows 
fjf842jr8448r: 
    item: audi 

现在,你可以简单地查询cars->项目节点“门”,它会回报你想要的节点 - 没有必要迭代!

3282jasjd893j: 
    item: doors 
相关问题