Query query = mTournamentColRef.whereEqualTo("author", user.getUid());
我想在mTournamentColRef
中获取文档的ID,但是在Firebase documentation中找不到任何有关查询处理方式以及如何获取其数据的信息。
谢谢您的帮助!
答案 0 :(得分:1)
您可以使用数据快照从查询中获取数据,或者,如果您使用的是Firestore Recycler Adapter,则可以将查询直接传递给构造函数。这是获取特定数据的代码:-
Query query = mTournamentColRef.whereEqualTo("author", user.getUid());
query.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot queryDocumentSnapshots, FirebaseFirestoreException e)
{
for (DocumentSnapshot doc : queryDocumentSnapshots)
{
Tournament tp = doc.toObject(Tournament.class);
}
}
});
答案 1 :(得分:1)
如何使用Firebase Firestore获取查询数据?
只需使用get()
通话!
query.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 Id: " + document.getId());
}
}
}
});
除非您需要实时获取数据,否则无需使用addSnapshotListener
。如果您只需要获取它而不必听更改,则只需使用get()
方法。
答案 2 :(得分:0)
你可以得到我想要的文件 dicumentsnapshot.getId()