Java 如何使用Firebase Firestore获取查询数据?
我想获取Java 如何使用Firebase Firestore获取查询数据?,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我想获取mTournamentColRef中文档的id,但在中找不到任何关于如何处理查询以及如何获取其数据的内容 谢谢你的帮助 您可以使用数据快照从查询中获取数据,或者如果您使用的是Firestore回收器适配器,则可以直接将查询传递给构造函数。以下是获取特定数据的代码:- Query query = mTournamentColRef.whereEqualTo("author", user.getUid()); Query Query=mTournamentColRef.whereEqual
mTournamentColRef
中文档的id,但在中找不到任何关于如何处理查询以及如何获取其数据的内容
谢谢你的帮助 您可以使用数据快照从查询中获取数据,或者如果您使用的是Firestore回收器适配器,则可以直接将查询传递给构造函数。以下是获取特定数据的代码:-
Query query = mTournamentColRef.whereEqualTo("author", user.getUid());
Query Query=mTournamentColRef.whereEqualTo(“author”,user.getUid());
addSnapshotListener(新的EventListener(){
@凌驾
public void OneEvent(QuerySnapshot queryDocumentSnapshots,FirebaseFirestoreException e)
{
用于(文档快照文档:queryDocumentSnapshots)
{
锦标赛tp=doc.toObject(锦标赛类);
}
}
});
如何使用firebase firestore获取查询数据
简单地说,使用get()
调用
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);
}
}
});
query.get().addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
对于(QueryDocumentSnapshot文档:task.getResult()){
Log.d(“标记”,“文档Id:+Document.getId());
}
}
}
});
除非需要实时获取数据,否则无需使用
addSnapshotListener
。如果您只需要获取它而不需要监听更改,只需使用get()
方法。您可以通过
dicumentsnapshot.getId()如何获取文档(锦标赛)id?(顺便说一句,谢谢你的帮助)你会写什么来代替//获取数据来获取匹配文档的Id?
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());
}
}
}
});