/Info/Semestre1/Courses/course1 是我的完整数据库引用。 我正在尝试访问所有学期的所有类(class)名称。
db.collection("Courses").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
}
// Log.d(TAG, document.getId() + " => " + document.getData());
}
}
});
}
I
我得到了所有学期的信息。现在我怎样才能访问所有类(class)名称?
最佳答案
你犯了和我在学习更多关于 firestore 时犯的同样的错误。
因此,您犯的第一个错误是直接访问“类(class)”集合
如果你想访问“Courses”集合是不可能的,那么你必须遍历它之前的所有集合和文档。
例如:collection1/doc1/collection2/doc2/collection3
现在,如果您想访问集合3的数据,那么查询将类似于
collection1.doc().collection2.doc2().collection3.get() 然后你的监听器在我们为你解答之前这只是基本的理解。
现在回答你的问题
db.collection("info").document("sem-id").collection(Courses).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
}
// Log.d(TAG, document.getId() + " => " + document.getData());
}
}
});
}
如果还有任何疑问,请告诉我。祝您编码愉快
关于java - 获取 QueryDocumentSnapshot 中集合的所有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59507163/