es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Comprobar si el valor está en la base de datos parece no funcionar.

Quiero escribir una función que verifique si un valor específico está en la base de datos de Firebase y luego haga algo cuando está y haga algo más cuando no está. Pero estoy obteniendo un error “Uncaught TypeError: db._checkNotDeleted is not a function”. No sé por qué.

js:

const onBuyHandler = (event) => {
    const db = getDatabase();
    ref(`users/${user.uid}/items/kitchen/${props.item.name}`).once(
        'value',
        (snapshot) => {
            if (snapshot.exists()) {
            } else {
                set(
                    ref(
                        db,
                        `users/${user.uid}/items/kitchen/${props.item.name}`
                    ),
                    {
                        name: props.item.name,
                        amount: 1,
                    }
                );
            }
        }
    );
};
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el mensaje de error está relacionado con la función getDatabase() o la función ref(), las cuales no están siendo debidamente definidas o importadas. Asegúrate de haber importado correctamente Firebase y Firebase Realtime Database en tu archivo de código, y de haber inicializado adecuadamente la aplicación y la referencia de la base de datos.

    Además, es posible que debas verificar si el objeto snapshot existe antes de llamar a cualquier método sobre él, para evitar otros errores. Puedes hacer esto agregando la siguiente comprobación al principio de tu función:

    if (!snapshot || !snapshot.exists()) {
      // manejar el error o retornar temprano
      return;
    }
    

    Esto verificará si el objeto snapshot existe y si contiene algún dato antes de continuar con el código dentro de la declaración if.

Comments are closed.