无法找到实时数据库中是否存在节点

Unable to find if a node exists in realtime database

我有一个 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) {});
  }

此处给出您的代码:

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");