我想查看“chefCollection”中的任何文档中是否存在“chefId”(屏幕快照的带圆圈的字段)。为此,我在下面编写查询。

Future<bool> checkChefID(String userID) async {

final chefCheck = (await Firestore.instance.collection('chef')
            .document("chefId")
            .collection("chef")
            .where("chefID", isEqualTo: userID)
            .getDocuments())
        .documents;

    print("Query result:  " + chefCheck.toString());
    chefCheck.length > 0 ? return true : return false;

  }
在上面的函数中,此(rhnKjYg2yMhf5IVjI0zvTi7Mjpn2)作为userID参数传递。
它肯定存在于厨师集中
firebase - Firebase搜索查询返回空结果-LMLPHP
这是我得到打印语句的结果
I/flutter (20455): Query result []

最佳答案

更改此:

final chefCheck = (await Firestore.instance.collection('chef')
            .document("chefId")
            .collection("chef")
            .where("chefID", isEqualTo: userID)
            .getDocuments())
        .documents;
到这个:
final chefCheck = (await Firestore.instance.collection('chef')
            .where("chefID", isEqualTo: userID)
            .getDocuments())
        .documents;
在数据库中,您有一个名为chef的集合,并且在文档内部有一个名为chefID的字段,因此您不应有.document("chefId").collection("chef")

10-01 04:10