簡體   English   中英

無法從 flutter Cloud firestore 獲取一份文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM