Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

253
Visualizações
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
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda