Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Firebase Firestore获取查询数据?_Java_Android_Firebase_Google Cloud Firestore - Fatal编程技术网

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());
            }
        }
    }
});