2017-10-14 47 views
0

我剛開始使用Cloud Firestore作爲與Firebase平臺一起託管的Web應用程序的CMS端。我知道這是一個非常新的產品,但我已經做了我的盡職調查,審查了所有文檔:https://cloud.google.com/firestore/docs/和SO論壇:https://stackoverflow.com/questions/tagged/google-cloud-firestore-我找不到答案,所以我希望有一些簡單的指導。使用Cloud Firestore在陣列中按鍵查詢對象值

我想知道是否有一種方法只是通過存儲在數組中的鍵名查詢某個對象的某些值。我將通過這個對於選擇元素,對於示例 - 我有一個很長的故事,作爲一個數組列表:

DATA

[ {title: "Title One", id: uid1, content: "very long string.."}, {title: "Title Two", id: uid2, content: "very long string.."} ...] 

<select onchange=fetchStoryByUID(story.val)> 
    <option value=story.uid>story.title</option> 
</select> 

我想只需將故事標題和uid添加到此元素,而不必返回所有對象鍵和值。他們的迴應是這樣的:

實例查詢響應

[{title: "Title One", id: uid2}, {title: "Title Two", id: uid2} ...] 

也許我需要重新考慮我的數據模式或東西(只標題和UID的列表),但我覺得這是一種常見的我沒有看到在文檔中涉及的情景。任何幫助將不勝感激!!謝謝

回答

0

現在無法使用任何Cloud Firestore移動SDK(Android,iOS或JavaScript)檢索部分文檔。我們的一些服務器端SDK提供了一個select()方法,允許您執行此操作。它不影響定價,但會節省帶寬。

一般而言,您應該將數據存儲在您打算一次獲取的文檔中。在您的示例中,將content作爲另一個文檔存儲並且只在需要時纔可以獲取。

+0

感謝您指出這一點! –

+0

在關係數據庫中的規範化表中創建它看起來很簡單 - 但FireStore控制檯中的內容看起來像是什麼設置? 在'stories'下創建另一個名爲'content'的集合,並在其中添加文檔? –

相關問題