Пользователь назначает встречу в клинике. Я хочу получить время встречи последнего пользователя, которое находится в верхнем документе в моей базе данных пожарного магазина. Я могу получить его, но если я удаляю верхний документ и назначаю другую встречу, он использует время удаленного документа, а не новый верхний документ. Если есть лучший способ сделать это, пожалуйста, поделитесь.
Collection col = firestore.collection("Clinic Name");
//Get 1 document the top one
Query query = col.orderBy("Time",Query.Direction.DESCENDING).limit(1);
query.addSnapshotListener(MetadataChanges.INCLUDE, new
EventListener<QuerySnapshot>() {
@Override
public void onEvent(@javax.annotation.Nullable QuerySnapshot queryDocumentSnapshots,
@javax.annotation.Nullable FirebaseFirestoreException e) {
if (e != null) {
return;
}
if (queryDocumentSnapshots != null && !queryDocumentSnapshots.isEmpty()) {
for (DocumentSnapshot dc : queryDocumentSnapshots) {
String prevTime = dc.getString("Time");
//Add the data
AddAppointment(prevTime);
}
}
//Function that add the data
void AddAppointment(String time){
if(time.isEmpty){
time = "08:00:00";
}
LocalTime localTime = LocalTime.parse(time);
localTime = String.valueOf(localTime.plusMinutes(8));
Map<String, Object> data = new HashMap<>();
data.put("Time",localTime);
//more data ...
//Adding the document
firebase.collection("ClinicName").document("userId").set(data)...
}