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.

La variable event.snapshot.value no está imprimiendo ningún valor.

Soy nuevo en Flutter y siguiendo la documentación, ya que la mayoría de los cursos y videos están desactualizados, pero DatabaseEvent event.snapshot.value no está imprimiendo ningún valor. Esta es mi data en la base de datos en tiempo real de Firebase y quiero leerla.

users
  3I4SCTCeyJVKWYvdnU2NHLmoTYV2
      email: "riomobility16@gmail.com"
      name: "riomobility"
      phone: "+923031521515"

Este es mi código: La referencia se imprime, pero no se imprime DatabaseEvent event.snapshot.value. Por favor, ayuda, gracias.

DatabaseReference reference =
        FirebaseDatabase.instance.ref("user").child(userId).child("name");

    DatabaseEvent event = await reference.once();


    print(reference.key);
    print(reference.parent!.key);

    print(event.snapshot.value);

Resultados impresos:

I/flutter (19657): name
I/flutter (19657): 3I4SCTCeyJVKWYvdnU2NHLmoTYV2
I/flutter (19657): null

¿Qué estoy haciendo mal?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás haciendo referencia a la ruta incorrecta en tu código. En la estructura de la base de datos en tiempo real que proporcionaste, el nodo de nivel superior es “users” y no “user”. Por lo tanto, deberías modificar tu código de la siguiente manera:

    DatabaseReference reference =
            FirebaseDatabase.instance.ref("users").child(userId).child("name");
    

    Esto debería resolver el problema y permitirte imprimir el valor deseado.

Comments are closed.