2017-10-16 211 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中的查询很浅,必须单独检索子集合中的数据。 –