如何收集所有firestore归档值

时间:2018-01-08 07:06:12

标签: android firebase google-cloud-firestore

我正在使用firestore,我正在尝试收集所有字段值,但我找不到一个简单的方法,所以我想要收集的是总用户费率..

所以这是我正在寻找的一个例子:

我需要收集“rate_value”字段:

Rates > Key_A > rate_value: 2
Rates > Key_B > rate_value: 5
Rates > Key_C > rate_value: 1
Rates > Key_D > rate_value: 4

enter image description here

那我怎样才能得到总费率(13)..

我使用了下面的代码,但它返回了我

mPostsCollection.document(Post_Key).collection("Rates").addSnapshotListener(new EventListener<QuerySnapshot>() {
        @Override public void onEvent(QuerySnapshot querySnapshot, FirebaseFirestoreException e) {

            if (e==null){

                Long Rates = (long) querySnapshot.getDocuments().size();

                for (DocumentSnapshot mDocs : querySnapshot.getDocuments()){

                    Long Rate_Value = mDocs.getLong("rate_value");

                    mPostValue.setText((int) (Rate_Value/Rates));

                }
            }
        }}
    );

1 个答案:

答案 0 :(得分:0)

引用Firestore documentation

  

Cloud Firestore中的高级查询允许您快速查找大型集合中的文档。如果您希望深入了解集合的属性,则需要对集合进行聚合。

因此,要获得所有值的总和,您需要get the documents并添加每个文档的值。