提问人:Yarin0600 提问时间:7/9/2022 更新时间:7/9/2022 访问量:2046
Flutter 如何进入 Future<DocumentSnapshot<Map<String、dynamic>>> inner map
Flutter How to reach into Future<DocumentSnapshot<Map<String, dynamic>>> inner map
问:
我需要有关涉及 firebasefirestore 的 flutter 代码的帮助。 这是我的代码。我想从数据库中检索地图中的image_url。
final userData = FirebaseFirestore.instance
.collection('users')
.doc(FirebaseAuth.instance.currentUser.uid)
.get();
但是在 userData 中,它并不完全是映射。 它是一个 Future<DocumentSnapshot<Map<String,动态>>>。 这就是获得回报的原因。我的问题是,我如何确定 Map<String、动态范围>? 我的意思是获取userData['image_url']...?因为我收到此错误: 未为类型“Future<DocumentSnapshot<Map<String, dynamic>>>”定义运算符“[]”。 多谢!
答:
1赞
Frank van Puffelen
7/9/2022
#1
如 Firebase 文档中有关获取文档的内容所示,即:
final docRef = db.collection("users").doc(FirebaseAuth.instance.currentUser.uid);
docRef.get().then(
(DocumentSnapshot doc) {
final data = doc.data() as Map<String, dynamic>;
// ...
},
onError: (e) => print("Error getting document: $e"),
);
您也可以使用 Timur 评论过,在这种情况下,它将是:await
final docRef = db.collection("users").doc(FirebaseAuth.instance.currentUser.uid);
DocumentSnapshot doc = await docRef.get();
final data = doc.data() as Map<String, dynamic>;
// ...
评论