我正在尝试从Cloud Firestore的Flutter中的以下路径获取数据,并且具有以下结构
我正在尝试获取当前用户的所有关注者的详细信息。有人可以帮忙吗?
我能够通过
获得第一部分DocumentSnapshot snapshot =
await followersRef.document(currentUser.id).get();
我不知道如何遍历所有id来从用户集合中获取其数据。我正在尝试以下代码,但没有成功。
snapshot.data.forEach((key, value) async {
DocumentSnapshot snapshot2 =
await usersRef.document(snapshot.documentID).get();
print('List' + snapshot2.data);
}
答案 0 :(得分:0)
您可以执行以下操作:
final db = Firestore.instance;
final uid = firebase.auth().currentUser.uid;
var userDetails = [];
var data = db.collection("followers").doc(uid).collection("userFollowers").get()
.then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
userDetails.add(db.collection("users").doc(doc.user_id)
.collection("user_details").get())
});
});
注意:您可以通过将所有关注者ID添加到每个当前用户文档上的followersID数组中来简化此操作,这将提高性能并减少应用程序管理的读取次数和数据量。