我目前正在學習如何使用 Firebase,但它對我來說還不是很直觀。基本上,我只想檢索我的 Cloud Firestore 集合中的最后一個檔案并將其保存為 Map<String, dynamic>。這是我的代碼:
final _firestore = FirebaseFirestore.instance;
Future<Map<String, dynamic>> fetchData() async {
Map<String, dynamic> collection;
try {
QuerySnapshot<Map<String, dynamic>> data = await _firestore
.collection('collection')
.orderBy('timestamp', descending: true)
.limit(1).get();
collection = data;
} catch (e) {
print(e);
}
return collection;
}
據我了解,QuerySnapshot 回傳多個 DocumentSnapshot。我想如果我將其限制為 1 并按生成的時間戳對其進行排序,我將只能獲得最后添加的檔案。但是,我無法將 QuerySnapshot 保存為 Map<String, dynamic> 并且找不到使其作業的方法。
非常感謝那些花時間回答這個問題的人!
uj5u.com熱心網友回復:
嘗試這個:
collection = data.docs.first.data() as Map;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/431590.html
