Я пытаюсь выбрать всех гостей вечеринки, которая хранится в массиве под названием «PhoneNumbers». Каждое приглашение добавляет этот номер телефона в массив. Если их более 10, приложение вызывает сбой, потому что это ограничение Firestore.
fileprivate func fetchGuests() {
print("hi hi")
guard !fetchedAllUsers, !fetchingMoreUsers else { return }
fetchingMoreUsers = true
tableView.reloadSections(IndexSet(integer: 1), with: .none)
let partyUID = self.party?.partyUID ?? ""
navigationItem.title = "\(party?.partyName ?? "") Guests"
Firestore.firestore().collection("parties").document(partyUID).getDocument { (snap, err) in
if let err = err {
print(err, "fook")
}
guard let partyDict = snap?.data() else {return}
let party = Party(dictionary: partyDict)
self.phoneNumbers = party.guestPhoneNumbers as! [String]
print(self.phoneNumbers)
var query: Query
if let lastFetchedNumber = self.lastFetchedNumber {
query = Firestore.firestore().collection("users").whereField("PhoneNumber", in: self.phoneNumbers).order(by: "Full Name").start(after: [lastFetchedNumber]).limit(to: 9)
} else {
query = Firestore.firestore().collection("users").whereField("PhoneNumber", in: self.phoneNumbers).order(by: "Full Name").limit(to: 9)
}
// Change logic where gender variable is just the where field firebase thing
query.getDocuments { (snapshot, err) in ......yadayadayada
У кого-нибудь есть идеи, как обойти правило макс. 10? Может мне стоит добавить еще один массив в коллекцию PhoneNumbers2 для гостей 9-18 и PhoneNumbers3 для 19-28?
Дайте мне знать, если у вас есть идеи! (Я не могу добавить новую коллекцию под названием гости, потому что это приложение позволяет вам приглашать людей, которых вы не аутентифицировали, и мне нужно иметь возможность запрашивать эти номера без их UID, если это имеет смысл)