Firebase FlatterFire-如果Firestore查询';结果。存在';有结果时返回true,如果没有结果,返回值是多少?

Firebase FlatterFire-如果Firestore查询';结果。存在';有结果时返回true,如果没有结果,返回值是多少?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,在我的数据库中,有一个文档具有字段bizCode:“123456”。运行下面的命令将返回TRUE并打印“code exists” 但是,当我将isEqualTo更改为:“abcdef”(数据库中不存在)时,不会返回或打印任何内容 当查询没有结果时,我应该如何编码,以打印返回false、null或空,并打印“无此类代码” await FirebaseFirestore.instance .collection(&quo

在我的数据库中,有一个文档具有字段bizCode:“123456”。运行下面的命令将返回TRUE并打印“code exists”

但是,当我将isEqualTo更改为:“abcdef”(数据库中不存在)时,不会返回或打印任何内容

当查询没有结果时,我应该如何编码,以打印返回false、null或空,并打印“无此类代码”

                  await FirebaseFirestore.instance
                      .collection("users")
                      .where('bizCode', isEqualTo: '123456')
                      .get()
                      .then((querySnapshot) {
                    querySnapshot.docs.forEach((result) {
                      print(result.exists);
                      if (result.exists) {
                        print('code exists');
                      } else {
                        print('no such code');
                      }
                    });

我想你应该检查
querySnapshot.hasError
querySnapshot.size>0
我想你应该检查
querySnapshot.hasError
querySnapshot.size>0
我可以给你一个主意。您可以检查结果的长度
像这样做

await FirebaseFirestore.instance
  .collection("users")
  .where('bizCode', isEqualTo: '123456')
  .get()
  .then((querySnapshot) {
    
    if(querySnapshot.size > 0){
      var results = querySnapshot.docs;
      results.forEach((result) {
        if (result.exists) {
          print('code exists');
        } else {
          print('no such code');
        }
      }else{
        print("No Results Found!");
      }
});

希望这适合你的情况。

我可以给你一个主意。您可以检查结果的长度
像这样做

await FirebaseFirestore.instance
  .collection("users")
  .where('bizCode', isEqualTo: '123456')
  .get()
  .then((querySnapshot) {
    
    if(querySnapshot.size > 0){
      var results = querySnapshot.docs;
      results.forEach((result) {
        if (result.exists) {
          print('code exists');
        } else {
          print('no such code');
        }
      }else{
        print("No Results Found!");
      }
});

希望这适合你的情况。

谢谢!我想现在querySnapshot.size已经足够使用了。谢谢!我想现在querySnapshot.size已经足够使用了。