如何从Firestore文档获取数据

我有一个名为“ Skate”的收藏集,是否可以从她的文档中获取所有数据?例如照片中两个公园的数据

fireStore.collection("Parks").document("PracasGravatai").collection("Skate").document().addOnSuccessListener(new OnSuccessListener<Documentsnapshot>() {
                @Override
                public void onSuccess(Documentsnapshot documentsnapshot) {
                    if(documentsnapshot.exists()) {
                        String endereco = documentsnapshot.getString("Endereco");
                        String nome = documentsnapshot.getString("Nome");
                        Log.i("LOG: ",endereco);
                        Log.i("LOG",nome);

                        textView.setText("Nome: "+nome+ "Endereço: "+endereco);
tycotyco 回答:如何从Firestore文档获取数据

一个集合包含文档。现在,您调用document(),这意味着您正在创建对新的空文档的引用。因此,get()之后的调用然后将快照返回到不存在的文档中。

要加载特定文档,您需要知道其ID。完成后,可以通过在get上调用DocumentReference来加载它:

fireStore.collection("Parks").document("PracasGravatai")
         .collection("Skate").document("theIdOfTheDocument").get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {

如果要为Skate加载PracasGravatai集合中的所有文档,可以通过在集合上调用get来实现:

fireStore.collection("Parks").document("PracasGravatai")
         .collection("Skate").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());
            }
        } else {
            Log.d(TAG,"Error getting documents: ",task.getException());
        }
    }
});

这两种情况都在getting data from Firestore的Firebase文档中进行了介绍。

本文链接:https://www.f2er.com/3147946.html

大家都在问