Obtengo una colección de mi base de datos Firestore y agrego los valores del documento a una matriz en JS:
var data = myCollection(); var myArray = []; data.forEach(function(data) { var splitPath = data.name.split('/'); var documentId = splitPath[splitPath.length - 1]; var name = data.fields.name ? data.fields.name.stringValue : ''; var country = data.fields.vin ? data.fields.vin.stringValue : ''; myArray.push( [ documentId, name, country ] ); });Supongamos que conozco un ID de documento, ¿es posible obtener los documentos de cobro de ese ID de documento determinado?
No estoy seguro si los documentos de Firestore están ordenados por fecha. Estoy tratando de obtener los documentos más recientes de una identificación de documento determinada.
Supongamos que conozco un ID de documento, ¿es posible obtener los documentos de cobro de ese ID de documento determinado?
Cuando se trata de la consola Firebase, todos los documentos se ordenan lexicográficamente por ID y este comportamiento no se puede cambiar. Cuando se trata de código, depende de usted elegir cómo ordenar los resultados.
No estoy seguro si los documentos de Firestore están ordenados por fecha.
No, no hay un componente de tiempo dentro de los ID de documentos.
Estoy tratando de obtener los documentos más recientes de una identificación de documento determinada.
En ese caso, la solución más sencilla sería agregar un campo de marca de tiempo en cada documento y ordenarlos de acuerdo con ese campo.
Sin embargo, los ID insertados de Firebase Realtime Database contienen un componente de tiempo. Entonces, si lo desea, puede agregar esos datos allí. Ambas bases de datos funcionan muy bien juntas.
Si tiene varios documentos y desea implementar la paginación , por ejemplo, puede usar cursores de consulta y usar startAt() o starAfter() si lo necesita.
No sé si esto es exactamente lo que necesita, pero Firebase docs tiene el siguiente ejemplo: Ordenar y limitar datos
import { query, where, orderBy, limit } from "firebase/firestore"; const q = query(citiesRef, where("population", ">", 100000), orderBy("population"), limit(2));si ajusta dónde parte a su identificación, ordene por fecha en que debería funcionar.