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,这就是问题所在。
我有以下代码并收到错误:
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,这就是问题所在。