2017-10-14 13 views
0

firebaseを使用しているWebアプリケーションのCMS側でCloud Firestoreを使用し始めました。私はこれがまったく新しい製品だと知っていますが、私はすべてのドキュメント:https://cloud.google.com/firestore/docs/、およびSOフォーラム:https://stackoverflow.com/questions/tagged/google-cloud-firestore-を見直す私のデューデリジェンスを行った私は答えを見つけることができないので、私はいくつかの簡単な指針を期待していた。Cloud Firestoreを使用して配列内のキーでオブジェクト値を照会

オブジェクトの特定の値をキー名で照会して配列に格納する方法があるかどうかは疑問でした。

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

私がしたい

DATA

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

ELEMENT:私は例 - のために私は配列としての物語の非常に長いリストを持って、セレクタ要素のためにこれを使用したことになりますすべてのオブジェクトのキーと値を返すことなく、この要素に追加するストーリータイトルと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'という別のコレクションを作成し、そこに文書を追加しますか? –

関連する問題