[英]Can't get one document from flutter cloud firestore
我正在嘗試使用 flutter 通過用戶 ID 從 firebase Cloud firestore 獲取一個文檔。我首先嘗試獲取數據然后向其添加條件,但我無法顯示數據甚至無法在控制台中打印它!
到目前為止,這是我嘗試過的:
數據庫.dart:
Future<DocumentSnapshot?> getFileByUser(String userId) async {
return FirebaseFirestore.instance
.collection('cartesPro')
.where('cartUserId', isEqualTo: FirebaseAuth.instance.currentUser!.uid)
.get()
.then((value) {
value.docs.forEach((element) {
print(element.id);
});
});
}
用戶界面頁面:
User? user = FirebaseAuth.instance.currentUser;
showFile() {
final files = DatabaseMethods().getFileByUser(user!.uid);
print(files);
}
然后在一個按鈕中進行調用,這樣我只能打印結果,它返回實際用戶的文檔,但我無法 map 結果以獲得最新的時間戳順序! 我感謝任何形式的幫助,在此先感謝!
如果你想為用戶獲取最新的文檔,你應該在具有時間戳和限制為單個結果的字段上排序:
FirebaseFirestore.instance
.collection('cartesPro')
.where('cartUserId', isEqualTo: FirebaseAuth.instance.currentUser!.uid)
.orderBy('timestamp', descending: true)
.limit(1)
.get()
有關這方面的更多信息,請參閱有關訂購和限制數據的 Firestore 文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.