У меня есть такой объект firestore:
{
countries:[
country1: {
cities: [
city1: {date_added: timestamp},
...
]
}
...
]
}
Итак, я хотел бы в одном запросе , чтобы получить список городов. Я знаю, что могу go понравиться (я в функциях firestore)
const cities = [];
admin.firestore().collection('countries/')
.get()
.then(countriesSnapshot => {
countriesSnapshot .forEach( countryDoc => {
admin.firestore().collection('countries/' + countryDoc.id + '/cities/')
.get()
.then(citySnapshot => {
citySnapshot.forEach( cityDoc => {
cities.push(cityDoc.id);
});
}).catch();
});
}).catch();
Но это делает двойной foreach, и я хочу обрабатывать только после того, как все решено. Я мог бы с promise.all
, но мне интересно, есть ли более простой способ go - что-то вроде
admin.firestore().collection('countries/{countryId}/cities').get().then(citySnapshot ...