export const getBostonAreaWeather = functions.https.onRequest((request, response) => { admin.firestore().doc("areas/greater-boston").get() .then(areaSnapshot => { const cities = areaSnapshot.data().cities const promises = [] cities.forEach(city => { const p = admin.firestore().doc(`cities-weather/${city}`).get() promises.push(p) }) return Promise.all(promises) }) .then(snapshots => { const results = [] snapshots.forEach(snap => { const data = snap.data() data.city = snap.id results.push(data) }) response.send(results) }) .catch(error => { console.log(error) response.status(500).send(error) }) })