У меня есть вложенные объекты в Firestore, где я привязал документ к UUID зарегистрированного пользователя.
Я могу получить вложенные значения, преобразовав их в Map и вызвав getData для DocumentSnapshot.Затем перебираем набор записей Map.Обычно я использовал методы Firestore для преобразования результата обратно в свой пользовательский объект (например, documentSnapshot.toObject (POJO.class) и выбрасывал их в список, но, поскольку я получаю вложенные значения в виде Map, мне нужно будет использоватьчто-то вроде Джексона или GSON? Как только этот цикл будет завершен, я хочу преобразовать его в POJO и добавить каждый в массив, в данном случае allVehices.
public ArrayList<Vehicle> getAllVehicles() {
FirebaseFirestore.getInstance().collection("vehicles")
//.whereEqualTo("vehicleUUID",FirebaseAuth.getInstance().getCurrentUser().getUid())
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (DocumentSnapshot documentSnapshot : task.getResult()) {
Map<String,Object> map = (Map<String,Object>) documentSnapshot.getData();
for (Map.Entry<String,Object> entry : map.entrySet()) {
System.out.print(entry.getKey() + "/" + entry.getValue());
}
}
}
}
});
return allVehicles;
}
Структура Firestore