如何按科目名称计算分数值?

时间:2019-12-27 06:56:06

标签: firebase flutter google-cloud-firestore

这是我尝试过的。但是此代码可计算所有文档列表的分数。如何通过科目名称或考试名称计算分数?

documents.fold(
                  0,
                  (prev, next) =>
                      prev +
                      int.parse(
                        next['score'],
                      ),
                )


Stream getData() async* {
    final FirebaseAuth firebaseAuth = FirebaseAuth.instance;
    final FirebaseUser user = await firebaseAuth.currentUser();
    final uid = user.uid;

    QuerySnapshot qn = await db
        .collection('scores')
        .document(uid)
        .collection('exam_data')
        .orderBy('createdAt', descending: true)
        .getDocuments();

    yield qn.documents;
  }

1 个答案:

答案 0 :(得分:0)

您可以在查询中包含过滤器子句以获取与您相关的结果。只需用您的实际参数替换字段

QuerySnapshot qn = await db
        .collection('scores')
        .document(uid)
        .collection('exam_data')
        .where(**field**, isEqualTo: **value**)
        .getDocuments();

我建议您查看有关queriesordering的Firebase文档页面,因为它们提供了许多与此有关的有价值的示例。