У меня есть массив видов спорта, с которыми я хочу запросить облачное хранилище, но массив может отличаться по размеру. Иногда будет запрос для одного вида спорта, иногда для двух видов спорта и т. Д. Это будет похоже на массив, но в обратном порядке. У меня есть массив, и я хочу посмотреть, есть ли какие-либо из этих элементов в базе данных. Я знаю, что могу создать цепочку .where (), но как мне динамически изменить это в соответствии с количеством элементов в массиве?
Как мне реализовать это в запросе Firestore? Могу ли я отобразить массив видов спорта куда (sport '==' SPORT_NAME_HERE)?
Вот как будет выглядеть запрос для одного вида спорта (строка):
let sportsQuery = await database.collection('sports')
.where('sport', '==', 'SPORT_NAME_HERE')
.orderBy('sport_team')
.limit(7)
Вот то, о чем я думал. Совершенно не уверен, что .then разрешен, но это было мое решение до сих пор:
let sports = ['гольф', 'теннис', 'баскетбол'];
let sportsQuery = await database.collection('sports')
.then(
sports.map(sport => {
.where('sport', '==', `${sport}`)
})
)
.orderBy('sport_team')
.limit(7)