火力基地的儿童人数

时间:2018-07-13 17:23:33

标签: javascript reactjs firebase-realtime-database

我正在使用Firebase实时数据库进行反应

Firebase data structure

所以我有此Firebase数据,我想计算关注者中的总价值。但是,我所知道的是,firebase没有这种功能可以计数,您需要手动进行操作。

从下面我可以看到所有用户数据,例如用户名和电子邮件。但是,我仍然不知道如何计算追随者的数量。

我希望有人能提供帮助。谢谢。

const ref = firebaseDB.ref();
ref
  .child("Users")
  .orderByChild("email")
  .equalTo(this.state.currentUserEmail)
  .once("value", snapshot => {
    let userData = {};
    for (var childSnapshot in snapshot.val()) {
      userData.key = childSnapshot;
      // then loop through the keys inside the child object and get the values like price (key) : 44.95 (value)
      for (var value in snapshot.val()[childSnapshot]) {
        console.log(value);
        console.log(snapshot.val()[childSnapshot][value]);
        userData[value] = snapshot.val()[childSnapshot][value];
      }
    }
    console.log(userData);
  });

1 个答案:

答案 0 :(得分:0)

类似这样的事情应该可以解决:

const ref = firebaseDB.ref();
ref
  .child("Users")
  .orderByChild("email")
  .equalTo(this.state.currentUserEmail)
  .once("value", snapshot => {
    snapshot.forEach((childSnapshot) => {
      console.log(childSnapshot.child("followers").numChildren());
    }
    console.log(userData);
  });

更改/添加:

  1. 使用DataSnapshot.forEach()提供一种更干净的方式遍历孩子的方法。
  2. 使用DataSnapshot.child()获取followers节点的快照。
  3. 使用DataSnapshot.numChildren()确定关注者数量。