2017-10-16 181 views
1

我正在使用FireStore數據庫,我想知道如何將這些集合從「Hospital/DcbtizNr0ADNNnd0evlN」轉換爲Java對象?我的意思是,我如何搜索(有1個查詢)特定醫院並將其所有文檔和集合映射到java對象?將FireStore集合映射到Java POJO

This is my database structure

Pacientes/Fichas/Profissionais遵循幾乎相同的結構:

enter image description here

回答

0

您可以將QuerySnapshot容易映射到對象的列表,假設您的應用包含一個Hospital POJO類匹配數據:

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 ITAL類看起來是這樣的:

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

} 

參考: https://firebase.google.com/docs/firestore/reference/android/QuerySnapshot.html#toObjects(java.lang.Class

+0

我忘了是更具體一點。我如何將一個集合轉換成Pojo?例如,我可以用什麼樣的java結構來映射Pacientes? –

+0

那麼醫院的收藏呢?我如何映射它們? –

+1

那些不能一次全部映射。 Cloud Firestore中的查詢很淺,必須單獨檢索子集合中的數據。 –