Me gustaría usar una variable para ChildSnapshot pero no funciona. Así es como funciona.
firebase.database(CustomerDatabase).ref('Customer').once('value', function (snapshot) { snapshot.forEach(function (ChildSnapshot) { console.log(ChildSnapshot.val().Firstname); }Así me gustaría que funcionara. Pero eso arroja un error.
let child_var = "Firstname"; firebase.database(CustomerDatabase).ref('Customer').once('value', function (snapshot) { snapshot.forEach(function (ChildSnapshot) { console.log(ChildSnapshot.val().child_var); }Ayuda apreciada.
Querrás usar la notación [] para eso:
console.log(ChildSnapshot.val()[child_var]);Este es un problema común de JavaScript. Lo que realmente está haciendo en el segundo bloque de código es intentar acceder a la propiedad denominada "child_var" en lugar de a la denominada "Firstname". Use el acceso de propiedad entre corchetes para usar una variable para acceder a las propiedades:
ChildSnapshot.val()[child_var]Lectura adicional: acceso a la propiedad de JavaScript: ¿notación de puntos frente a corchetes?