一尘不染

如何遍历并获取Firebase中嵌套节点的所有键?

swift

我正在尝试获取Firebase中嵌套节点的密钥,但不确定如何执行此操作。

例如在这种情况下:

我怎么知道1之内有2,3,4?

我正在考虑将值分别放在Firebase中的列表中。但是,有没有更聪明的方法呢?是否有更有效的方法来获取Firebase中所有嵌套节点的密钥?


阅读 233

收藏
2020-07-07

共1个答案

一尘不染

在Android中

允许访问此快照的所有直接子级。可以在本机for循环中使用:

for (DataSnapshot child : parent.getChildren()) { 
   //Here you can access the child.getKey()
}

在iOS中

斯威夫特3:

for (child in snapshot.children) { 
  //Here you can access child.key
}

斯威夫特4:

snapshot.children.forEach({ (child) in
  <#code#>
})

在网路上

snapshot.forEach(function(childSnapshot) {
   //Here you can access  childSnapshot.key
});

您可以将其放在不同的列表或相同的路径中,重要的是要记住在调用事件时实际上要检索多少数据。以及如何查询该信息…这就是为什么在NoSQL中建议保留平面节点的原因

2020-07-07