Не удалось найти, существует ли узел в базе данных реального времени

0

Вопрос

enter image description here

У меня есть дерево firebase в реальном времени, в котором есть определенный узел New Ride установите, когда пользователь находится в сети, когда узел находится в автономном режиме New Ride удаляется. Это работает нормально в первый раз, когда пользователь снова пытается выйти в Интернет, я не могу настроить узел. Я хочу проверить, существует ли узел уже в дереве, если его не добавить.

До сих пор это мой код

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

Лучший ответ

0

Учитывая ваш код здесь:

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

Кажется, что независимо от того, существует узел или нет, не имеет значения, что вы делаете. Так почему бы не заменить весь этот фрагмент вот этим?

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

На других языках

Эта страница на других языках

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