如何获取子项快照索引?

时间:2014-10-20 17:41:23

标签: javascript firebase

...
myDataRef.on('child_added', function(snapshot){
  //I would like to know what snapshot it is, by index
});
...

我可以使用哪些方法在snapshot上添加myDataRef的索引?

1 个答案:

答案 0 :(得分:1)

在Firebase集合的上下文中,子项由其名称标识,而不是由其索引标识。您可以使用数字名称,但您的代码段不会显示您是否这样做。

如果您正在寻找名称(标识myDataRef下的孩子的名称),那么您可以从snapshot.name()获取该名称。

所以你也得到了当前孩子的名字:

myDataRef.on('child_added', function(snapshot){
  var nameOfThisChild = snapshot.name();
});

如果您将项目存储在具有数字名称的节点中,则可以将名称解析为以下数字:

parseInt(nameOfThisChild)

您还可以直接获取子快照的ref

myDataRef.on('child_added', function(snapshot){
  var refToThisChild = snapshot.ref(); 
  // equivalent to myDataRef.child(snapshot.name())
});

一如既往:请务必阅读how Firebase handles arrays上的文档。

相关问题