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

296
Views
Firebase: ¿cómo eliminar el rango de elementos dentro del nodo según las claves de marca de tiempo?

Los datos de mi base de datos de Firebase se ven así:

ingrese la descripción de la imagen aquí

  • Los números son marcas de tiempo en segundos (por lo que los datos son básicamente una serie de tiempo).
  • Quiero borrar todos los datos ANTERIORES a los 5 segundos.
  • Estoy usando la nueva Version 9 Modular JavaScript SDK's

Entonces, por ejemplo, si tomamos que la hora actual es 1637149389 , quiero eliminar todos los datos de acuerdo con la imagen a continuación: ingrese la descripción de la imagen aquí

Intenté usar este código, pero el resultado es que se eliminó toda mi ruta a los datos (incluidos los datos que no tienen más de 5 segundos):

 var timestamp = Math.round(Date.now() / 1000) - 5; //get Timestamp in Mili, convert to Seconds, and then set it 5 seconds to the past var UID = 'uid1'; const ref = ref( database, 'device_realtime/' + UID ); var refQuery = query( ref, ...[fb.orderByKey(), fb.endAt(timestamp.toString())] ); remove(refQuery);
  • Estoy un poco confundido porque cuando llamo a get(refQuery) en la misma consulta, mis resultados son correctos.
  • ¡Solo veo datos de más de 5 segundos!

Consola:

ingrese la descripción de la imagen aquí

¿Cómo eliminaría solo cierto rango de elementos en función de su marca de tiempo?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para eliminar un nodo, debe conocer la ruta completa a ese nodo. Firebase no admite consultas de actualización/eliminación, en las que pasa la referencia raíz y una condición a la base de datos.

Por lo tanto, deberá llamar a remove() en cada nodo secundario individual que desee eliminar.

Algo como:

 get(refQuery, (results) => { results.forEach((snapshot) => { remove(snapshot.ref); }) })
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!