firebase - 在 Flutter 中从 Firebase 实时数据库中获取特定数据

标签 firebase flutter dart firebase-realtime-database

我想检查数据库中是否存在特定数字,以便它会获取与数字对应的密码,否则它将返回数字在 Flutter 的数据库中不存在。

enter image description here

var dbRef = FirebaseDatabase.instance.reference().child("NewUsers");
dbRef.equalTo(numberController.text).once().then((DataSnapshot snapshot){
  if(snapshot.value.isNotEmpty){
    var dbRef = FirebaseDatabase.instance.reference();
    dbRef.child(numberController.text).once().then((DataSnapshot snapshot){
      snapshot.value.forEach((key,values) {
        print(values["Password"]);
      });
    });
  }
  else{
    print("pleasesignup first");
  }
});

在此之后,我收到错误 Unhandled Exception: NoSuchMethodError: The getter 'isNotEmpty' was called on null

最佳答案

尝试以下操作:

var dbRef = FirebaseDatabase.instance.reference().child("newUsers");
dbRef.orderByKey().equalTo(numberController.text).once().then((DataSnapshot snapshot){
     if(snapshot.value.isNotEmpty){
         var ref = FirebaseDatabase.instance.reference("newUsers");
           ref.child(numberController.text).once().then((DataSnapshot snapshot){
                print(snapshot.value); 
                snapshot.value.forEach((key,values) {
                   print(values["Password"]);
              });
          });
       }
   });

首先添加对 newUsers 的引用并使用查询 orderByKey().equalTo(numberController.text)然后通过执行 snapshot.value.isNotEmpty它将检查数据库中是否存在 key ,如果确实检索到 password .

关于firebase - 在 Flutter 中从 Firebase 实时数据库中获取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60966679/

相关文章:

requirejs - Dart2js : Is it possible to start Root Isolate from Javascript?

flutter - `dependOnInheritedWidgetOfExactType` 但获得非最近的祖先?

firebase - 实现 'com.google.firebase:firebase-core:17.0.0'并应用插件后出现错误: 'com.google.gms.google-services'

javascript - Firebase 实时数据库使用 JavaScript 发布旧图像

android - Firebase Analytics 不适用于 Instant App 或 Normal App

dart - 在服务器端验证时来自 google_sign_in 插件的 token 无效

typescript - 带有 typescript 的云功能,如何定义快照数据的形状?

dart - 使用物理 Android 设备访问本地主机

flutter - 如何在Flutter Web中管理 session 和导航的最佳方法

flutter - 为什么要扩大而不是扩大高度