簡體   English   中英

嘗試從 Firestore 檢索數據

[英]Trying to retrieve data from firestore

我正在嘗試從我的 firestore 數據庫中檢索所有不同用戶發布的產品,我想檢索所有用戶的所有帖子並將它們顯示在屏幕上(如提要屏幕)。

這是 firestore 數據的樣子: 火店截圖

我用來獲取這些數據的代碼是:

static Future<List<Product>> getProducts(String userId) async {
    QuerySnapshot productSnapshot = await productsRef
        .document(userId)
        .collection('usersProducts')
        .orderBy('timestamp', descending: true)
        .getDocuments();
    List<Product> products =
        productSnapshot.documents.map((doc) => Product.fromDoc(doc)).toList();
    return products;
  }

我知道我在那里傳遞 userId 這就是為什么我只從一個用戶那里獲取產品,但我想要的是數據庫中的所有產品,而不考慮用戶。 如何才能做到這一點?

您所描述的是所謂的集合組查詢 此類查詢基於集合名稱而不是其路徑,因此您可以使用以下命令查詢所有usersProducts集合:

Firestore.instance.collectionGroup('usersProducts').getDocuments()

要閱讀有關此類型查詢的更多信息,請參閱宣布它們及其文檔博客文章

我認為您想獲取所有用戶產品。 因此,無論用戶如何,直接引用“產品”節點都將檢索您的所有數據。

QuerySnapshot snapShot = await Firestore.instance.collection("products").getDocuments();

然后相應地管理快照。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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