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

335
Views
Obtenga datos de documentos de Firebase Firestore en Node JS

Después de no encontrar nada en línea, decidí escribir aquí. Necesito obtener todo el documento en la colección /user/uid en Node JS. Cuando uso el código de Firebase, responde así:

 Promise {<pending>}

¡Por favor, ayúdame!

PD: no quiero usar Firebase Admin SDK y esperar.

Código "completo"

 var express = require('express'); const { initializeApp } = require("firebase/app"); const { getDatabase, ref, get, child, set, onValue} = require("firebase/database"); const { getFirestore, collection, getDoc, doc} = require("firebase/firestore"); const firebaseApp = initializeApp(firebaseConfig); // Get a reference to the database service var app = express(); const PORT = process.env.PORT || 5050 app.get('/', (req, res) => { res.send('This is my demo project') }); const db = getDatabase(); const firestore = getFirestore(); const document = getDoc(doc(collection(firestore, 'users'), "BW5kylV6rtZXtYibpKGc2m1asRm1")); console.log(document); //Response: "Promise {<pending>}""
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Las llamadas a métodos de Firebase son asincrónicas. Entonces, tanto para Admin SDK como para JS SDK, debe lidiar con la asincronía , ya sea usando then o usando async/await .

Si recibe Promise {<pending>} es porque el método asíncrono getDoc devuelve una Promesa y esta promesa no se cumple, pero aún está pendiente.

Por lo tanto, debe sumergirse en la documentación sobre cómo usar Promises... o las palabras clave async/await .

En su caso, lo siguiente hará el truco:

 getDoc(doc(collection(firestore, 'users'), "BW5kylV6rtZXtYibpKGc2m1asRm1")) .then(snap => { console.log(snap.data()) })

Sin embargo, si escribe este código para ejecutarlo en un servidor Node de su propiedad, le recomendaría usar el SDK de administrador.

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!