首页 > 解决方案 > 从 Firebase 中选择多个字段

问题描述

我试图从 userEmail 等于参数 userEmail 的数据库中获取 EventDay 和 taskName,但我设法只获取 EventDay。我应该使用不同的查询来获取多个字段吗?

class DatabaseService{
  final CollectionReference userAssignments =
  Firestore.instance.collection('userAssignments');

  Future<void> getEventsOfUser(String email) async {

    //We look for user with email that was passed when we call function

    return userAssignments.where("email", isEqualTo: email).snapshots().listen(
    (data) =>
        data.documents.forEach((doc) => userEventDay = doc["eventDay"]));
   }
}

这是其中一封电子邮件的文档

标签: firebaseflutterdartgoogle-cloud-firestore

解决方案


不要使用粗箭头符号,而是使用大括号并编写另一行代码来获取 taskName 和您可能需要的所有其他字段。

这是一个例子

Future<void> getEventsOfUser(String email) async {
return userAssignments.where("email", isEqualTo: email).snapshots().listen(
(data) =>
    data.documents.forEach((doc) {
    userEventDay = doc["eventDay"];
    taskName  = doc["eventDay"];
    } ));

}


推荐阅读