4

我想在我的 Firebase 函数中迭代 DataSnapshot 属性。这是我的代码。

alignmentsRef.once('value')
.then(function(snapshot) {
    snapshot.forEach(function(k) {
        var itemId = k.key //itemId
        var childData = k.val() //{downvotes: {memberId: "down"}, upvotes: {memberId: "up"}}
        var memberIds = childData.downvotes // {memberId: "down"}
        memberIds.forEach(l => {
            ...
        })
    })

它似乎不可memberIds枚举,因为我收到错误:

memberIds.forEach 不是函数。

4

1 回答 1

4

memberIds将是一个Object- 而不是Array- 所以你不能用forEach. 但是,您可以使用以下命令将其作为快照访问child

alignmentsRef
  .once('value')
  .then(function (snapshot) {
    snapshot.forEach(function (k) {
        k.child('downvotes').forEach(function (d) {
          console.log(`${d.key} = ${d.val()}`);
        });
    });
于 2017-03-22T00:33:41.433 回答