因此,基本上,我有一个用户集合,并且在每个用户中,都有该用户所拥有的未决朋友请求的子集合,如下所示:
/ 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");
}
}
在dataService中:
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(),使用/不使用async / await等 我似乎无法使其正常工作...