Tenemos un realtimedb en firebase que tiene datos de la siguiente manera:
En nuestra página nuxt tenemos el siguiente método:
async getDb () { const messageRef = this.$firebase.database.ref('test') try { const snapshot = await messageRef.once('value') alert(snapshot.val().message) } catch (e) { alert(e) } },Eso es ejecutado por esto en montado así:
mounted () { this.getDb() },Sigo recibiendo este error:
No capturado (en promesa) TypeError: no se pueden leer las propiedades de undefined (leyendo 'base de datos')
¿Estoy haciendo algo mal? Tengo toda la configuración de firebase en Nuxt.config.js y suth funciona bien. También agregué realtimedb a los servicios:
services: { realtimeDb: true, auth: { ssr: true, // it is recommended to configure either a mutation or action but you can set both initialize: { onAuthStateChangedMutation: 'ON_AUTH_STATE_CHANGED_MUTATION' // onAuthStateChangedAction: 'onAuthStateChangedAction' } },¿Cómo accede realmente a los datos de realtimedb para que pueda mostrar la matriz de prueba en mi página?
Está utilizando $firebase que no está incluido en esta documentación . Para otorgar acceso a su base de datos en tiempo real, use lo siguiente:
$fire.databaseo
$fireModule.databaseNota:
Si está utilizando la versión 6 de
nuxt/firebase, userealtimeDby la base dedatabasepara la versión 7 en los servicios de nuxt.config.js , consulte este enlace para obtener más detalles.