簡體   English   中英

構造畫廊的最佳方法(Firestore)

[英]Best way to structure a gallery (Firestore)

我正在嘗試找出在Cloud Firestore中存儲圖庫的最佳方法。

每個文檔都有自己的畫廊。

消防站結構:

Collection
  - Document
    - Title
    - Gallery

Flutter應用程序將如下所示:

屏幕1:列表= [查看文檔按鈕]

屏幕2(文檔): [查看圖庫按鈕]

屏幕3: [查看外部圖像按鈕] [查看內部圖像按鈕]

屏幕4:根據選擇顯示圖像

到目前為止,這些是我的選擇:

  1. 將圖像URL存儲在每個文檔的地圖中(通過這種方法,圖像在加載文檔后立即可用。不過,我擔心的是每個文檔的大小,這會增加屏幕1的加載時間)
  2. 將圖像URL存儲在每個文檔的子集合中(這是否會導致另外的查詢來檢索畫廊圖像?)
  3. 將圖像URL存儲在“文檔庫”集合中的另一個文檔中,該文檔庫隨后包含主文檔的引用字段(我擔心的是,然后有兩個對Firestore的查詢,在查看圖庫時需要第二次加載時間)。

另外:刪除Firestore存儲URL的基本URL以減小文檔大小是個好主意嗎? (即,刪除https://firebasestorage.googleapis.com/v0/b/test.appspot.com/ (僅在文檔字段中使用網址的其余部分),並在調用時以編程方式將其插入)

哪種方法最有利?

我認為,解決方案之一是您可以繼續使用的解決方案,但前提是您必須100%確信文檔的大小不超過限制。 因此,在文檔中可以放入多少數據方面存在一些限制。 根據有關使用和限制的官方文檔:

文檔的最大大小:1 MiB(1,048,576字節)

如您所見,單個文檔中的數據總數限制為1 MiB。 當我們談論存儲文本時,可以存儲很多內容,但是當包含url的地圖越來越大時,請注意此限制。

如果您認為單個文檔超出了限制,那么解決方案二就是可以解決您的問題的解決方案。

另外:刪除Firestore存儲URL的基本URL以減小文檔大小是個好主意嗎?

是的。 如上所述,您將減小文檔的大小。 因為該網址:

https://firebasestorage.googleapis.com/v0/b/test.appspot.com/

始終是常量,您可以在代碼中使用它來重新創建整個url客戶端。

暫無
暫無

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

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