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

244
Views
Firebases Firestore: ¿Cómo se ordenan todos los documentos de una colección?

Me gustaría crear un juego basado en salas en el que puedas crear salas y unirte a ellas por tu cuenta. Firebases Firestore es mi elección porque es económico y fácil de implementar en React Native.

El usuario creador no debería tener que ingresar la ID de la sala deseada, pero la ID de la sala debe crearse dinámicamente. Como no quiero que el usuario que se une escriba 16 dígitos más o menos, no puedo usar la generación automática de identificaciones de documentos.

Dado que aleatorizar estas identificaciones de sala y verificar su existencia puede llevar mucho tiempo si no hay suerte, lo abordé de la siguiente manera: me gustaría realizar una consulta simple en cada documento de una colección. Ordena los documentos, limítalos y obtén el mayor número. Posteriormente, este número se incrementará y se establecerá como la nueva identificación del documento de las habitaciones. (Si hay una forma más conveniente de hacerlo, siéntase libre de sugerirla)

Hasta ahora tengo todos los documentos así:

const querySnapshot = await getDocs(collection(db, "rooms"));

Y trató de realizar una consulta sobre el resultado:

const q = query(querySnapshot, orderBy("", "asc"), limit(3));

Lo que resultó en un error Function orderBy() called with invalid data. Invalid field path (). Paths must not be empty, begin with '.', end with '.', or contain '..' .

También probé lo siguiente:

 const roomsRef = db.collection('rooms') const q = query(roomsRef, orderBy("", "asc"), limit(3));

Lo que arrojó otro error: TypeError: _firebase.db.collection is not a function.

base de fuego.js:

 import { initializeApp } from "firebase/app"; import { getFirestore } from "firebase/firestore"; // Add SDKs for Firebase products that you want to use // https://firebase.google.com/docs/web/setup#available-libraries // Your web app's Firebase configuration const firebaseConfig = { apiKey: "xyz", authDomain: "xyz", projectId: "xyz", storageBucket: "xyz", messagingSenderId: "xyz", appId: "xyz", }; // Initialize Firebase const app = initializeApp(firebaseConfig); export const db = getFirestore(app);

Firestore: Firebase Firestore

Se aprecia mucho la ayuda.

Editar: se me ocurrió una solución similar que no incluía ningún límite ni orden: dado que Firebase ordena los documentos de forma predeterminada, lo único que tenía que hacer era obtener el último elemento de mis documentos.

Mi solución:

 const querySnapshot = await getDocs(collection(db, "rooms")); console.log(querySnapshot.docs[querySnapshot.size - 1].data());
about 4 years ago · Juan Pablo Isaza
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!