我想对Firebase实时数据库中的多个子节点求和
这是我的数据库,在这个数据库中我想做“金额”子项的总和,那么该怎么做?
请帮忙!
解决方法:
正如我在您的数据库中看到的那样,您的amount属性的类型为String而不是number.因此,您不能简单地创建String文字的总和.为了解决这个问题,您需要将属性名称更改为数字类型.我还看到您正在将货币和数字一起存储.您应该以编程方式在用户端而不是在数据库中添加货币.如果您考虑更改您的金额属性的类型,那么请从此post查看我的答案
但是,如果要保留实际的数据库结构,可以使用以下技巧将所有金额相加:
ValueEventListener eventListener = new ValueEventListener() { @OverrIDe public voID onDataChange(DataSnapshot dataSnapshot) { int total = 0; for(DataSnapshot ds : dataSnapshot.getChildren()) { String amount = ds.child("amount").getValue(String.class); int value = Integer.valueOf(amount.replace(" Rs.", "")); total =+ value; } Log.d("TAG", String.valueOf(total) + " Rs."); } @OverrIDe public voID onCancelled(DatabaseError databaseError) {}};your_database_reference.addListenerForSingleValueEvent(eventListener);
您的logcat中的输出将是:
27000
总结 以上是内存溢出为你收集整理的java-Firebase数据库检索多个子项的总和全部内容,希望文章能够帮你解决java-Firebase数据库检索多个子项的总和所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)