【问题标题】:How to get a sum of all values from a node in Firebase?如何从 Firebase 中的节点获取所有值的总和?
【发布时间】:2017-12-04 03:51:27
【问题描述】:

这是我的数据库结构:

我想从所有子值中获取总和,例如我想从节点“UNICAREBE”的所有 de 值中获取 de 值“5”

【问题讨论】:

  • 在此处粘贴您的 JSON 代码...
  • 我没有 JSON 代码,只有一张我在 firebase 中的数据库结构的照片
  • 读取孩子,循环和求和...你试过了吗?
  • 我试图从单个子节点中获取一个值然后求和,但是当我有一个包含很多子节点的节点时,这非常有用
  • 我认为这是唯一的选择:- 阅读孩子,循环和总和......正如 cricket_007 所说。如果您担心延迟,您可以在服务器端使用 Firebase 函数来执行此操作并返回总和(首先阅读文档,因为我还没有尝试过)。

标签: java android firebase firebase-realtime-database


【解决方案1】:

要计算所有这些值,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference unicaribeRef = rootRef.child("Unicaribe");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        int total = 0;
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            int value = ds.getValue(Integer.class);
            total =+ value;
        }
        Log.d("TAG", String.valueOf(total));
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
unicaribeRef.addListenerForSingleValueEvent(eventListener);

您的输出将是5

【讨论】:

  • 嗨,Alex Mamo,我如何在 python 中为树莓派做到这一点??
  • 对不起,我不懂 Python。
猜你喜欢
  • 2018-09-22
  • 2022-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-24
  • 2012-12-19
  • 2018-05-17
  • 2017-10-12
相关资源
最近更新 更多