Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

248
Vistas
La suscripción a la base de datos en tiempo real no funciona: Firebase

Tengo una configuración para escuchar cambios en tiempo real en la base de datos de firebase:

Así es como se ve la ruta: Path = funfuse/users/connected-users/AfYXmJroEKQwnhiFXXXXXiyblti22

Así es como está estructurada mi base de datos:

ingrese la descripción de la imagen aquí

Cuando intento agregar una entrada al último hijo (es decir connected-users ), se actualiza en la base de datos, pero aunque tengo la aplicación ejecutándose en mi navegador web, no recibo ningún mensaje de registro para la actualización:

 useEffect(() => { if (isLoggedIn && firebaseToken !== '') { const path = `${rdb_paths.funfuse_connected_users}/${user?.uid ?? ''}`; const connectionsRef = ref(rdb, path); console.log('Path = ', path); onValue(connectionsRef, (snapshot) => { console.log('Values = ', snapshot.val()); }); return () => { console.log('Switching off listening'); off(connectionsRef); }; } }, [firebaseToken, isLoggedIn, user?.uid]);

¿Estoy haciendo algo mal aquí? ¿Por qué no puedo obtener las actualizaciones? Aquí están mis reglas de seguridad:

 { "rules": { "funfuse": { "users": { "requests-users": { "$uid": { ".read":"$uid === auth.uid && auth.token.email_verified === true", ".write":"$uid === auth.uid && auth.token.email_verified === true" } }, "requested-users": { "$uid": { ".read":"$uid === auth.uid && auth.token.email_verified === true", ".write":"$uid === auth.uid && auth.token.email_verified === true" } }, "connected-users": { "$uid": { ".read":"$uid === auth.uid && auth.token.email_verified === true", ".write":"$uid === auth.uid && auth.token.email_verified === true" } } } } } }

Ejecuté una simulación para leer y escribir datos y funcionó bien. ¿Necesito agregar una regla adicional para escuchar las actualizaciones de datos?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Me di cuenta de que el problema se debía a que estaba tomando la URL de la base de datos default , ya que no la estaba pasando en mi objeto de configuración:

 const firebaseConfig = { apiKey: process.env.NEXT_PUBLIC_FB_CLIENT_API_KEY, authDomain: process.env.NEXT_PUBLIC_FB_CLIENT_AUTH_DOMAIN, projectId: process.env.NEXT_PUBLIC_FB_CLIENT_PROJECT_ID, storageBucket: process.env.NEXT_PUBLIC_FB_CLIENT_STORAGE_BUCKET, messagingSenderId: process.env.NEXT_PUBLIC_FB_CLIENT_MESSAGING_SENDER_ID, appId: process.env.NEXT_PUBLIC_FB_CLIENT_APP_ID, measurementId: process.env.NEXT_PUBLIC_FB_CLIENT_MEASUREMENT_ID, };

cambiando lo anterior a:

 const firebaseConfig = { apiKey: process.env.NEXT_PUBLIC_FB_CLIENT_API_KEY, authDomain: process.env.NEXT_PUBLIC_FB_CLIENT_AUTH_DOMAIN, projectId: process.env.NEXT_PUBLIC_FB_CLIENT_PROJECT_ID, storageBucket: process.env.NEXT_PUBLIC_FB_CLIENT_STORAGE_BUCKET, messagingSenderId: process.env.NEXT_PUBLIC_FB_CLIENT_MESSAGING_SENDER_ID, appId: process.env.NEXT_PUBLIC_FB_CLIENT_APP_ID, measurementId: process.env.NEXT_PUBLIC_FB_CLIENT_MEASUREMENT_ID, databaseURL: process.env.NEXT_PUBLIC_FB_CLIENT_DB_URL, };

resolvió el problema para mí.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda