firestore collectionreference .get()未执行

时间:2018-11-27 13:50:11

标签: java android firebase google-cloud-firestore

    List<String> uniNames = new ArrayList<>();

    FirebaseFirestore db = FirebaseFirestore.getInstance();

    CollectionReference unisRef = db.collection("Universities");

    unisRef.get().addOnCompleteListener(task -> {
        if(task.isSuccessful()) {
            for (QueryDocumentSnapshot document : task.getResult()) {
                uniNames.add(document.getString("name"));
            }
        } else {
            Log.d("MainActivity", "Error getting documents: ", 
            task.getException());
        }
    });

我正在尝试从大学集合中的文档中获取字段名称的所有值,但.get()似乎根本没有执行。 它很好地连接到数据库,并且我得到一个collectionreference对象,但是.get()只是被完全跳过了,所以我最终得到一个空的List。 我使用不完整的侦听器是错误的还是缺少一些琐碎的东西?

1 个答案:

答案 0 :(得分:0)

检查从日志中获取的错误

如果是 PERMISSION_DENIED 错误,请从Firebase控制台检查您的规则。

如果规则还可以,请确保使用正确的字符串引用集合。 请记住,firebase集合引用是区分大小写的。