firebase - 从 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"]));
}
}
解决方案
不要使用粗箭头符号,而是使用大括号并编写另一行代码来获取 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"];
} ));
}
推荐阅读
- gpu - 集成 GPU 和 CPU 之间的原子操作
- java - jvm 配置中的 -XX:HeapDumpPath 选项不起作用
- javascript - flex-wrap: wrap 在移动 iOS 上不起作用
- javascript - 更改数组中单个对象的外观,索引未对齐
- git - 如何从 Bitbucket 存储库获取所有用户提交?
- c++ - 了解 3D Perlin 噪声
- java - 使用创建的类将随机值分配给对象数组
- web-scraping - 如何使用漂亮的汤从 kick starter 中获取以下数据?
- go - 在 Go 中分配了大量内存。怎么修?
- java - 从带有类名的字符串中动态调用类变量