Consulta de Firestore por rango de fechas

1 minuto de lectura

Avatar de usuario de Nimer Farahty
Nimer Farahti

Necesito la ayuda para consultar una colección larga con rango de fechas. Consulte el siguiente documento de ejemplo. Quiero consultar el campo startTime usando el rango de fechas.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

  • Todas estas respuestas tienen un gran defecto: una consulta solo puede contener “>” o “

    – Spock

    5 de julio de 2021 a las 19:37

  • Si toma una captura de pantalla de su tienda de fuego, ¿es posible desde allí distinguir visualmente la diferencia entre un objeto de fecha y hora o una cadena?

    – Daule DK

    30 de octubre de 2017 a las 7:25

  • Sí @DauleDK mira: imgur.com/a/draQo el tercer campo se llenó con un objeto Date() js y se almacenó como una marca de tiempo (firebase realizó la conversión). Y en la imagen verá esta marca de tiempo formateada como UTC PERO la guardé como un objeto de Fecha. Y finalmente, para verificar si esto es realmente un campo de marca de tiempo, simplemente desplace el cursor sobre el campo. En mi caso veo “Marca de tiempo” que significa “marca de tiempo”.

    – Capy

    30 oct 2017 a las 10:34


  • Wow, eso es increíble, algo que definitivamente debería agregarse a la documentación de consulta de Firestore. Tengo la sensación de que veremos muchas actualizaciones en la consola firebase-firestore. “Marce de tiempo” – lección más valiosa aprendida hoy, gracias 😉

    – Daule DK

    30 de octubre de 2017 a las 10:53

  • amigos, he probado esto pero no devuelve nada

    – Nimer Farahti

    30 oct 2017 a las 16:33

  • Además, si está utilizando una consulta de equivalencia adicional ‘==’, es posible que deba habilitar un índice compuesto, la mejor manera de hacerlo es detectando el error, que generará un enlace de Firebase que puede seguir para la configuración automática. El índice. Mi solicitud se ve así y necesitaba un composite_index: .where('team_id', '==', teamId).where('time', '>=', start).where('time', '<=', end)

    – anchoas

    13 de abril de 2020 a las 0:32


  • gracias, pero ya tengo datos con formato de fecha como la captura de pantalla adjunta

    – Nimer Farahti

    30 de octubre de 2017 a las 6:15

  • Está bien. Según firebase, datetime es un tipo de datos admitido en firestore. ¿startTime es una cadena o un objeto de fecha y hora?

    – Daule DK

    30 de octubre de 2017 a las 6:25

  • es un objeto de fecha y hora, no es una cadena

    – Nimer Farahti

    30 de octubre de 2017 a las 16:19

  • ¿Puede tomar una captura de pantalla de la consola Firebase, donde pasa el mouse sobre su hora de inicio, para ver si la fecha y la hora aparecen como aquí? imgur.com/a/draQo

    – Daule DK

    30 oct 2017 a las 17:07

  • agregado a la pregunta nueva captura de pantalla, parece que la hora de los datos es una marca de tiempo cuando creo el campo usando el módulo de momento

    – Nimer Farahti

    30/10/2017 a las 18:27


  • Excelente ! Me salvaste la vida hombre. Acabo de reemplazar admin.firestore por firebase.firestore y funcionó.

    – Fox5150

    22 de enero de 2020 a las 10:05

  • Esto me ayudó inmensamente. No puedo creer que no haya documentación en Firebase para incluir fechas en las consultas…

    – percusión

    30 oct 2021 a las 18:27

  • ¿Está bien si Firestore guarda Date.now() como datos numéricos? Siento que tener una cita es mejor en algunos casos solo por eso y por la facilidad de comprensión.

    – Telión

    16 de enero de 2018 a las 12:21

  • Esto parece ser el código de base de datos en tiempo real de Firebase (por ejemplo, utiliza startAt y endAt) no el código de Firestore (que usaría wherever aquí). Los dos son similares, pero no iguales.

    – Robsiemb

    7 de noviembre de 2019 a las 17:46

  • ¿Cuál es el pensamiento de zona horaria. Cuando determine el número, ¿debería convertir la fecha y hora a GMT?

    – Csaba Toth

    18 de mayo de 2020 a las 5:42

¿Ha sido útil esta solución?