Nelze zjistit, zda existuje uzel databáze v reálném čase

0

Otázka

enter image description here

Mám firebase realtime strom, který má konkrétní uzel New Ride nastaví, když uživatel je online, když v režimu offline v uzlu New Ride dostane odstraněny. To funguje dobře pro první čas, Když se uživatel pokusí přejít do režimu online znovu nemůžu nastavit uzel. Chci zkontrolovat, zda je uzel již existuje ve stromu, pokud ne, přidejte jej.

Tohle je můj kód tak daleko

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

Nejlepší odpověď

0

Vzhledem k tomu váš kód zde:

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

Zdá se, že to, zda uzel existuje, nebo ne nezáleží na tom, co děláte. Tak proč ne nahradit celý tento fragment s tím?

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

V jiných jazycích

Tato stránka je v jiných jazycích

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