无法找到实时数据库中是否存在节点
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");
我有一个 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");