【问题标题】:How to check if value exists in Firebase Realtime Database (Dart/Flutter)?如何检查 Firebase 实时数据库(Dart/Flutter)中是否存在值?
【发布时间】:2020-09-25 22:32:18
【问题描述】:

如何检查某个值是否存在于 Firebase 实时数据库中?

我正在使用以下命令,但它不起作用:

Future<bool> rootFirebaseIsExists(DatabaseReference databaseReference) async{
  DataSnapshot snapshot = await databaseReference.once();
  if( snapshot == null ){
    print("Item doesn't exist in the db");
  }else{
    print("Item exists in the db");
  }
  return snapshot !=null;
}
print("exists?");
rootFirebaseIsExists(FirebaseDatabase.instance.reference().child("users").child('userid000').child('pushTokens').child("field_to_check"));

问题是即使节点不存在,快照也不为空,然后函数返回该项目存在于数据库中。

谢谢!

【问题讨论】:

    标签: firebase flutter dart firebase-realtime-database


    【解决方案1】:

    once() 总是产生一个DataSnapshot 对象。您必须通过查看其value 属性来检查该快照是否包含任何数据。

      if (snapshot.value == null) {
        print("Item doesn't exist in the db");
      } else {
        print("Item exists in the db");
      }
    

    【讨论】:

      猜你喜欢
      • 2019-05-10
      • 2021-01-14
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 1970-01-01
      • 2016-10-20
      • 2022-12-31
      • 1970-01-01
      相关资源
      最近更新 更多