首页 > 解决方案 > FlutterFire - 如果 Firestore 查询“result.exist”在有结果时返回 true,那么如果没有结果,返回值是多少?

问题描述

在我的数据库中有一个包含字段 bizCode: '123456' 的文档。运行以下返回 TRUE 并打印“代码存在”。

但是,当我更改 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');
                      }
                    });

标签: firebasefluttergoogle-cloud-firestore

解决方案


我想你要检查querySnapshot.hasError, 和querySnapshot.size > 0


推荐阅读