Swift Firestore – Как проверить, был ли добавлен идентификатор запрошенного пользователя в поле? ⇐ IOS
-
Гость
Swift Firestore – Как проверить, был ли добавлен идентификатор запрошенного пользователя в поле?
Я работаю над приложением для онлайн-знакомств и пытаюсь запросить пользователей, идентификатор которых не был добавлен в поле текущего вошедшего в систему пользователя.
Моя модель пользователя:
[*]
идентификатор: строка
[*]
заблокировано: массив идентификаторов пользователей
[*]
понравилось: массив идентификаторов пользователей
[*]
didntLike: массив идентификаторов пользователей
Наблюдатель:
[*]potentialMatches: Массив пользователей // это будет показано вошедшему в систему пользователю для выбора.
По сути, когда вошедший в систему пользователь делает выбор, идентификатор другого пользователя добавляется в один из массивов. Проблема, с которой я столкнулся, заключается в том, что мне нужно фильтровать пользователей, чтобы они не добавлялись и не добавлялись повторно при выполнении запроса. По сути, я хочу получить 10 пользователей, которые не заблокировали или не провели пальцем по экрану. Буду рад любым советам.
Вот что у меня есть для этой функции
функция GetPotentialMatches() { пусть uid = Auth.auth().currentUser?.uid пусть db = Firestore.firestore() let ref = db.collection("users").document(uid!).collection("") ref.whereField("id", isNotEqualTo: uid!).limit(to: 10).getDocuments{ (привязка, ошибка) в если (ошибка! = ноль) { print("ошибка: \(error.debugDescription)") } // если идентификатор пользователя не содержится в массиве «заблокировано», «нравится» или «не понравилось», добавляем в массив потенциальных совпадений // self.potentialMatches.append(Пользователь) } }
Я работаю над приложением для онлайн-знакомств и пытаюсь запросить пользователей, идентификатор которых не был добавлен в поле текущего вошедшего в систему пользователя.
Моя модель пользователя:
[*]
идентификатор: строка
[*]
заблокировано: массив идентификаторов пользователей
[*]
понравилось: массив идентификаторов пользователей
[*]
didntLike: массив идентификаторов пользователей
Наблюдатель:
[*]potentialMatches: Массив пользователей // это будет показано вошедшему в систему пользователю для выбора.
По сути, когда вошедший в систему пользователь делает выбор, идентификатор другого пользователя добавляется в один из массивов. Проблема, с которой я столкнулся, заключается в том, что мне нужно фильтровать пользователей, чтобы они не добавлялись и не добавлялись повторно при выполнении запроса. По сути, я хочу получить 10 пользователей, которые не заблокировали или не провели пальцем по экрану. Буду рад любым советам.
Вот что у меня есть для этой функции
функция GetPotentialMatches() { пусть uid = Auth.auth().currentUser?.uid пусть db = Firestore.firestore() let ref = db.collection("users").document(uid!).collection("") ref.whereField("id", isNotEqualTo: uid!).limit(to: 10).getDocuments{ (привязка, ошибка) в если (ошибка! = ноль) { print("ошибка: \(error.debugDescription)") } // если идентификатор пользователя не содержится в массиве «заблокировано», «нравится» или «не понравилось», добавляем в массив потенциальных совпадений // self.potentialMatches.append(Пользователь) } }
Мобильная версия