Еще один общий вопрос: как можно использовать Swift
для запроса сотен или даже тысяч документов, хранящихся в Firestore
, и ограничить количество результатов до некоторой суммы (скажем, 100).
В документации Firebase я обнаружил функцию .limit(some_number)
, которую можно добавить к концу .where
запроса.Проблема в том, что если some_number равен 100, то он, похоже, ищет только 100 документов, а не продолжает поиск, пока не получит 100 результатов.Если только 60 из 100 этих документов соответствуют тому, что вы искали, вы получаете 60 вместо продолжения поиска до 100.
Я что-то упустил?
ДляКонтекст, в моем случае у меня есть запрос, который выглядит следующим образом:
let db = Firestore.firestore().collection("users")
db.whereField(gameKey, isEqualTo: gameValue)
.whereField(rank, isEqualTo: rankValue)
.whereField(mic, isEqualTo: micValue)
.whereField(platform, isEqualTo: platformValue)
.limit(5)
.getDocuments { (snapshot, error) in
for document in (snapshot?.documents)! {
print("Found a player that plays this game")
}
}
gameValue - это bool (если игрок играет в игру, тогда его значение true)
rankValue - это строка (например:«Gold 2»)
mic - это bool (если у игрока есть микрофон, то его значение истинно)
платформа - это строка (например: «PS4»)
Редактировать 1 : добавлен код для контекста