如何使用Cloud Firestore集合中的文件数量及其ID计数

时间:2018-07-09 05:39:07

标签: android firebase google-cloud-firestore

在Firestore中,如何获取集合中的文档总数和ID?

例如,如果我有

/Usuarios
    /Cliente
        /JORGE
            /456789
                /filtros
                      /status
                          /activo
                          /inactivo

我的代码:

FirebaseFirestore db = FirebaseFirestore.getInstance();
Task<QuerySnapshot> docRef = db.collection("Usuarios").document("Cliente").collection("JORGE").document("filtros").collection("status").get()
                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                        if (task.isSuccessful()) {
                            int contador = 0;
                            for (DocumentSnapshot document: task.getResult()) {
                                contador++;
                            }

                            int cantPS = contador;
}

我想查询我有多少人,并得到:2和ID:activo,inactivo。

1 个答案:

答案 0 :(得分:0)

要确定查询返回的文档数,请使用QuerySnapshot.size()

要获取查询返回的文档列表,请使用QuerySnapshot.getDocuments()

要显示文档的密钥,请使用DocumentSnapshot.getId()

总共:

public void onComplete(@NonNull Task<QuerySnapshot> task) {
    if (task.isSuccessful()) {
        QuerySnapshot querySnapshot = task.getResult();
        int count = querySnapshot.size();
        System.out.println(count);
        for (DocumentSnapshot document: querySnapshot.getDocuments()) {
            System.out.println(document.getId());
        }
    }
}