我正在尝试仅在由10个URL组成的Firebase快照中访问第一个数据的属性。无论如何,我都会得到整个快照。我的代码如下:

myDataRef.limitToLast(10).on("child_added", function(snapshot) {
 var newImg = snapshot.child("url");
  console.log(newImg);
});


有没有一种方法可以在整个快照上指定[0]等,这样我就可以获取第一个数据?

最佳答案

确保没有看到您的数据结构是很难的,但是我认为您正在寻找:

myDataRef.limitToLast(10).on("child_added", function(snapshot) {
  var newImg;
  snapshot.forEach(function(urlSnapshot) {
    if (!newImg) {
      newImg = urlSnapshot.val();
    }
  });
  console.log(newImg);
});


forEach()循环遍历snapshot的所有子键,并使用每个DataSnapshot调用内部回调。

newImg = urlSnapshot.val();只会得到那个孩子的价值。您可能必须根据您的数据结构修改此位。

10-06 08:18