firebase - Flutter - 循环从firestore获取数据
问题描述
所以基本上我有一个用户集合,在每个用户中都有一个用于用户拥有的待处理朋友请求的子集合,如下所示:
/users/[auto-id]/friend_requests/[auto-id]/{user: ref to another user}
但是一个用户显然可以同时有多个请求,我很难正确获取数据。
我正确尝试做的是获取子集合“friend_requests”中的用户列表:
_loadFriendRequests() async {
try {
this._users.addAll(await _dataService.fetchFriend());
} catch (e, stackTrace) {
printException(e, stackTrace, "Error loading friends");
}
}
在数据服务中:
Future<List<User>> fetchFriend() async {
final querySnapshot =
await _currentUserDoc.reference.collection("friend_requests").getDocuments();
return await Future.wait(querySnapshot.documents.map((doc) async {
final user = await doc["user"].get();
User(
id: user["id"],
name: user["name"],
);
}).toList(growable: false));
}
这只是我尝试的最后一件事,但我尝试了很多方法,Future.wait() 也有/没有异步/等待等,我似乎无法让它工作......
解决方案
推荐阅读
- java - 使用循环替换 .txt 文件或 .xml 文件中的文本
- matlab - 加快 MATLAB 中 netcdf 数据的读入
- python - Django 重定向:没有错误,但没有重定向
- jenkins - 有没有办法通过api访问Jenkins自定义环境变量?
- javascript - SyntaxError:“@react-navigation”上的意外令牌“导出”
- codeigniter - Codeigniter 3 中文文本
- python - Pandas 切片字符串:将所有字符保持到第二个句号并创建新列以保存新值
- composer-php - 如何使作曲家包全球化
- c++ - 从静态库中隐藏符号
- spring-el - Spring 表达式语言——引用变量