Impossible de trouver si un nœud existe en temps réel de la base de données

0

La question

enter image description here

J'ai un firebase en temps réel de l'arbre qui a un nœud particulier New Ride définie lorsque l'utilisateur est en ligne, hors-ligne le nœud New Ride est supprimée. Ceci fonctionne bien pour la première fois, Lorsque l'utilisateur essaie d'aller de nouveau en ligne, je ne peux pas configurer le nœud. Je veux vérifier si le nœud existe déjà dans l'arbre, si pas l'ajouter.

C'est mon code jusqu'à présent

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

La meilleure réponse

0

Compte tenu de votre code ici:

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

Il semble que si le nœud existe ou non ne fait aucune différence ce que vous en faites. Alors pourquoi ne pas remplacer l'ensemble de ce fragment avec cela?

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

Dans d'autres langues

Cette page est dans d'autres langues

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