У меня есть два важных вопроса о базе данных Firebase Realtime (для android с java).
Соблюдайте следующую структуру:
У меня есть следующий класс:
public class User {
String name;
String age;
String region;
String color;
}
Для поиска данных пользователя (имя, возраст, регион и цвет) я делаю:
DatabaseReference usersRef = ConfigF.getFirebase().child("users").child("user1");
usersRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Вопрос 1: при выполнении этого поиска Firebase загружает только пользовательские данные (кроме узла сообщений) или также загружает данные, которые находятся в узле сообщений?
Представьте, что в миллионах сообщений узел сообщений, выполняющий этот поиск, также будут загружены миллионы сообщений? почему узел сообщений находится внутри узла пользователя?
Мне нужны только имя, возраст, регион и цвет данных, то есть все атрибуты в классе, могу ли я провести исследование таким образом ?
Вопрос 2: Если я удалю атрибут «color» из класса User, при выполнении того же поиска выше, будет ли загружено значение «color» в базе данных ? Или только данные, которые будут в классе (имя, возраст и регион)?