Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

280
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!