如何使用Flutter / Dart检查Firebase数据库中是否存在节点

时间:2018-12-08 20:32:00

标签: firebase-realtime-database dart flutter

我已经针对JavaScript和其他语言多次回答了这个问题。在那里,它总是会下降以获取快照并使用称为exists()的方法进行检查。但是在Dart / Flutter中,没有这种方法。这是我现在拥有的:

devicesRef.child(deviceId).once().then((DataSnapshot data) {
    print(data.key);
    print(data.value);        
});

我想检查一个名为deviceId的节点是否已经存在。

那么如何使用Dart / Flutter检查Firebase实时数据库中是否存在节点?

3 个答案:

答案 0 :(得分:2)

我想,由于在实时数据库中没有空子值之类的东西,您可以简单地检查data.value是否为空。

答案 1 :(得分:1)

将您的DatabaseReference传递给此方法,如果存在则返回true

 Future<bool> rootFirebaseIsExists(DatabaseReference databaseReference) async{
    DataSnapshot snapshot = await databaseReference.once();

    return snapshot !=null;
  }

答案 2 :(得分:0)

Future<bool> isUserRegistered(String idToken) async{
 DataSnapshot dataSnapshot = await databaseReference.child('app').child('users').child(idToken).once();
 return dataSnapshot.value!=null;
}