Я пытаюсь получить только события, которые есть у определенного пользователя, дело в том, что после выполнения orderByChild()
он фильтрует еще одно событие, которое мне не нужно.
Код
//I find the user that belongs to a certain Tutor
mDatabase.child("tutorjugadores").child(mAuth.getCurrentUser().getUid()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshotJugador) {
for(final DataSnapshot snapshotJugadoresTutor : dataSnapshotJugador.getChildren()){
if(dataSnapshotJugador.exists()){
//If the user has not assisted to a certain event, I get the user that belongs to the user and get the event ID
mDatabase.child("asistenciasjugadores").orderByChild(snapshotJugadoresTutor.getKey()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshotEvento) {
for(DataSnapshot snapshotEventos : dataSnapshotEvento.getChildren()){
//Getting the event key from that user
String eventKey = snapshotEventos.getKey();
Log.d(TAG, "Event : "+eventKey + " of the user "+snapshotJugadoresTutor.getKey());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Теперь, это моя структура базы данных

Проблема
Теперь, когда я запускаю этот код ивыполнить журнал, чтобы получить событие для пользователя 2UHHZWR6B8P9XJPuLYrAg6aEgN63
, я получаю еще одно событие, которое не принадлежит этому пользователю, это событие -LU930PpCaQXT8CvUbc8
Мой журнал
Событие : -LU930PpCaQXT8CvUbc8 пользователя 2UHHZWR6B8P9XJPuLYrAg6aEgN63
Событие : -LTRz61EUEUUUUUUEUUU из 10 * * 10-RU* 2UHHZWR6B8P9XJPuLYrAg6aEgN63
Событие : -LTSGFGdW1nQbtd9HOBh пользователя 2UHHZWR6B8P9XJPuLYrAg402 * * * * * * * 2UHHZWR6B8P9XJPuLYrAg6aEgN63
Как видите, список всех событий для этого пользователя, ноЕсли у пользователя только 3 события, связанных с ним.
Когда я закажу с этой строкой
.orderByChild(snapshotJugadoresTutor.getKey())
Я ожидаю получить только узлы с идентификатором userID 2UHHZWR6B8P9XJPuLYrAg6aEgN63
, а затем цикл иполучить идентификатор каждого события от этого пользователя, но вместо этого я также получаю идентификатор события от этого пользователя GVD0bLDf41VDdraN67mXjAS6KPk1
.