Firebase Cloud Firestore:集合引用无效。集合引用必须有奇数个段

Firebase Cloud Firestore : Invalid collection reference. Collection references must have an odd number of segments

我有以下代码并收到错误:

Invalid collection reference. Collection references must have an odd number of segments

代码:

private void setAdapter() {
        FirebaseFirestore db = FirebaseFirestore.getInstance();
        db.collection("app/users/" + uid + "/notifications").get().addOnCompleteListener(task -> {
            if (task.isSuccessful()) {
                for (DocumentSnapshot document : task.getResult()) {
                    Log.d("FragmentNotifications", document.getId() + " => " + document.getData());
                }
            } else {
                Log.w("FragmentNotifications", "Error getting notifications.", task.getException());
            }
        });
    }

the documentation 中描述了分层数据结构和子集合。集合包含文档,文档可能包含子集合。该结构始终是集合和文档的交替模式。文档包含示例的描述:

Notice the alternating pattern of collections and documents. Your collections and documents must always follow this pattern. You cannot reference a collection in a collection or a document in a document.

因此,一个集合的有效路径总是有奇数个段;文档的有效路径,偶数。由于您的代码正在尝试查询集合,因此四的路径长度无效。

那么你需要改变这个:

db.collection("app/users/" + uid + "/notifications")...

为此:

db.collection("app").document("users").collection(uid).document("notifications")

欢迎您 ;)

您缺少 collection 参考资料。 即 db.collection(** This is getting null **).

我在提供错误 entity_Id 时遇到了这个问题。

而不是 dojo/default/datasets/fe67ec58-6208-4234-a4ee-98c5dce4665f, 我已经提供了 fe67ec58-6208-4234-a4ee-98c5dce4665f,现在工作正常。

当我尝试读取 documentReference (DocumentReference docRef2 = fireStoreDb.Collection("屁股").文档(ass.Tel.ToString()) .Collection("vehicules").Document(ve.Immatriculation);). 在这里,值 ve.Immatriculation 等于 N/A,这就是问题所在。