質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Q&A

解決済

1回答

1028閲覧

Firestoreのドキュメント内のマップを取得する方法

azl

総合スコア12

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

0グッド

0クリップ

投稿2019/06/03 17:16

編集2019/06/03 17:26

FirebaseのCloudFirestoreのデータを取得する処理でいくつかのフィールドとコレクション(マップ)が含まれるコレクション中のマップについてkeyを指定してvalueを取得したいです。

以下のようにデータがセットされているとして、

javascript

1var citiesRef = db.collection('cities'); 2 3var setSf = citiesRef.doc('SF').set({ 4 name: 'San Francisco', state: 'CA', country: {id: 1, name: 'USA'}, 5 capital: false, population: 860000 }); 6var setLa = citiesRef.doc('LA').set({ 7 name: 'Los Angeles', state: 'CA', country: {id: 1, name: 'USA'}, 8 capital: false, population: 3900000 }); 9var setDc = citiesRef.doc('DC').set({ 10 name: 'Washington, D.C.', state: null, country: {id: 1, name: 'USA'}, 11 capital: true, population: 680000 }); 12var setTok = citiesRef.doc('TOK').set({ 13 name: 'Tokyo', state: null, country: {id : 2, name: 'Japan'}, 14 capital: true, population: 9000000 }); 15var setBj = citiesRef.doc('BJ').set({ 16 name: 'Beijing', state: null, country: {id : 3, name: 'China'}, 17 capital: true, population: 21500000 });

以下のようにMapのデータを取得したい場合どうすればよいでしょうか(※citiesはVueインスタンス)

db.collection('cities').get().then(querySnapshot => { querySnapshot.forEach(doc => { let data = { 'name': doc.data().name, 'state': doc.data().state, 'country_name' : // ここでcountryマップのnameを取得したい 'capital': doc.data().capital, 'population': doc.data().population } this.cities.push(data) }); });

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ここでcountryマップのnameを取得したい

doc.data().country.namedoc.data().country['name']で取得できると思います。

投稿2019/06/03 18:15

xenbeat

総合スコア4258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問