Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

271
Vistas
Obtener el número total de elementos de usuario en la base de datos Firebase Realtime en javascript

He estado tratando de obtener la cantidad de usuarios que tienen el mismo "referralId" en mi base de datos en tiempo real de Firebase,

 users { AY35bkc5cbkufik8gfe3vjbmgr { email: james @gmail.com verify: none referralid: AY35ja35 } B16fty9jDchfNgdx7Fxnjc5nxf5v { email: mobilewisdom @gmail.com verify: none referralid: AY35ja35 } }

¿Cómo puedo usar JavaScript para contar la cantidad de cuenta con id de referralid:AY35ja35 ? Intenté:

 const query = ref.orderByChild('referralid').equalTo('AY35ja35'); query.get().then((results) => { console.log(Object.keys(results.val()).length); results.forEach((snapshot) => { console.log(snapshot.key, snapshot.val()); }); });

Pero recibo este error en mi consola: Uncaught TypeError: query.get is not a function

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En primer lugar, deberá ejecutar una consulta para obtener los datos de firebase utilizando el paquete firebase, axios o fetch

Sus datos se obtienen en forma de Objeto que contiene diferentes objetos. Puede usar el usuario para .. en .. bucle para iterar a través del objeto.

 var count = 0 for (const user in users) { if (user.referralid==="AY35ja35") { count++ } }

O use la función Object.values(object) para obtener una matriz de usuarios. Ahora puede usar una función de matriz de JavaScript como mapa o filtro.

mediante el uso de mapa. puedes hacerlo así:

 var count=0 user.map(user=>{if(user.referralid==="AY35ja35"){count++})

o usando filtro

 const matchedUsers = user.filter(user=>(user.referralid==="AY35ja35")) const count = matchedUsers.length

Espero que esto ayude :)

about 4 years ago · Juan Pablo Isaza Denunciar

0

En la sintaxis v8/namespaced sería:

 const ref = firebase.database().ref('users'); const query = ref.orderByChild('referralid').equalTo('AY35ja35'); const results = await query.get(); console.log(Object.keys(results.val()).length); results.forEach((snapshot) => { console.log(snapshot.key, snapshot.val()); });

O si estás en un entorno donde await no funciona:

 const ref = firebase.database().ref('users'); const query = ref.orderByChild('referralid').equalTo('AY35ja35'); query.get().then((results) => { console.log(Object.keys(results.val()).length); results.forEach((snapshot) => { console.log(snapshot.key, snapshot.val()); }); });

En la sintaxis v9/modular, el equivalente sería:

 const ref = ref(getDatabase(), 'users'); const query = query(ref, orderByChild('referralid'), equalTo('AY35ja35')); const results = await get(query); console.log(Object.keys(results.val()).length); results.forEach((snapshot) => { console.log(snapshot.key, snapshot.val()); });

O si estás en un entorno donde await no funciona:

 const ref = ref(getDatabase(), 'users'); const query = query(ref, orderByChild('referralid'), equalTo('AY35ja35')); get(query).then((results) => { console.log(Object.keys(results.val()).length); results.forEach((snapshot) => { console.log(snapshot.key, snapshot.val()); }); });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda