Ответ Тони показывает, как получить доктора, если вы знаете его ключ.Существуют также различные сценарии, в которых вы можете не знать ключ.
Например, если вы ничего не знаете о докторе, которого хотите прочитать, все, что вы можете сделать, это прочитать информацию для всех врачей:
var ref = firebase.database().ref( 'doctorsList' );
ref.on('value', (snapshot) => {
snapshot.forEach((doctorSnapshot) => {
alert(doctorSnapshot.key+": "+doctorSnapshot.val().doctor.name);
});
});
Если вы знаете, например, имя доктора (-ей), вы можете использовать запрос для получения данных о докторе (-ах), соответствующих этому имени:
ref.orderByChild("doctor/name").equalTo("shubham").on('value', (snapshot) => {
snapshot.forEach((doctorSnapshot) => {
alert(doctorSnapshot.key);
});
});
Вам все равно понадобитсяsnapshot.forEach
здесь, поскольку может быть несколько докторов с одинаковыми именами.
Если вы хотите что-то изменить в каждом из этих врачей, вы можете обновить его в обратном вызове с помощью:
ref.orderByChild("doctor/name").equalTo("shubham").on('value', (snapshot) => {
snapshot.forEach((doctorSnapshot) => {
doctorSnapshot.ref.child("job").set("doctor");
});
});