No se puede encontrar si existe un nodo en tiempo real en la base de datos

0

Pregunta

enter image description here

Tengo una base avanzada en tiempo real, árbol que tiene un nodo en particular New Ride se establece cuando el usuario está en línea, sin conexión cuando el nodo New Ride se elimina. Esto funciona bien para la primera vez, Cuando el usuario intenta entrar en línea de nuevo no puedo configurar el nodo. Quiero comprobar si el nodo ya existe en el árbol, si no lo agregue.

Este es mi código hasta el momento

DatabaseReference rideRequestRef = FirebaseDatabase(databaseURL: firebaseUrl)
    .reference()
    .child("Drivers")
    .child(currentFirebaseUser.uid)
    .child("New Ride");
var ref = FirebaseDatabase(databaseURL: firebaseUrl)
        .reference()
        .child("Drivers")
        .child(currentFirebaseUser.uid);

    await ref
        //.child(currentFirebaseUser.uid)
        .child("New Ride")
        .once()
        .then((DataSnapshot dataSnapshot) {
      if (dataSnapshot == null) {
       
        rideRequestRef.set("searching");
      } else {
        rideRequestRef.set("searching");
       
      }
    });
   
    rideRequestRef.onValue.listen((event) {});
  }
firebase-realtime-database flutter
2021-11-24 06:44:20
1

Mejor respuesta

0

Dado aquí el código:

await ref
    //.child(currentFirebaseUser.uid)
    .child("New Ride")
    .once()
    .then((DataSnapshot dataSnapshot) {
  if (dataSnapshot == null) {       
    rideRequestRef.set("searching");
  } else {
    rideRequestRef.set("searching");       
  }
});

Parece que si el nodo existe o no hace ninguna diferencia en lo que haces. Así que ¿por qué no reemplazar la totalidad de este fragmento con esto?

rideRequestRef.set("searching");       
2021-11-24 15:49:56

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................