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) }); });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。