2017-10-16 15 views
1

私はFireStoreデータベースを使用していますが、これらのコレクションを "病院/ DcbtizNr0ADNNnd0evlN"からJavaオブジェクトに変換するにはどうすればいいですか?つまり、特定の病院を検索して(1つのクエリで)、そのすべてのドキュメントとコレクションをJavaオブジェクトにマップする方法はありますか?FireStoreコレクションからJava POJO

This is my database structure

Pacientes/Fichas/Profissionaisは、ほぼ同じ構造を、次のとおりです。

enter image description here

答えて

0

あなたが簡単にあなたのアプリケーションは、そのHospital POJOクラスが含まれていると仮定すると、オブジェクトのリストにQuerySnapshotをマッピングすることができますデータと一致する:

db.collection("Hospital") 
     .get() 
     .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { 
      @Override 
      public void onComplete(@NonNull Task<QuerySnapshot> task) { 
       if (task.isSuccessful()) { 
        // Convert the whole snapshot to a POJO list 
        List<Hospital> objects = task.getResult().toObjects(Hospital.class); 
       } else { 
        Log.d(TAG, "Error getting documents: ", task.getException()); 
       } 
      } 
     }); 

The Hosp私はもう少し具体的にするのを忘れて https://firebase.google.com/docs/firestore/reference/android/QuerySnapshot.html#toObjects(java.lang.Class

+0

public class Hospital { // These can either be public properties, or private properties // with standard-named getters and setters like getAvenida() and // setAvenida() public String avenida; public String bairro; public String cep; public String cidade; public String estado; public String name; public String numero; // Empty constructor required Hospital() {} } 

参照:イタルクラスは、このようになります。コレクションをPojoに変換するにはどうすればよいですか?たとえば、私はPacientesをどのようなJava構造にマップできますか? –

+0

病院のコレクションはどうですか?どうすればそれらをマッピングできますか? –

+1

これらは一度にすべてマッピングすることはできません。 Cloud Firestoreのクエリは浅く、サブコレクションからのデータは個別に取得する必要があります。 –

関連する問題