Я старался изо всех сил с функцией поиска, но не получил результатов, которые искал.
В данный момент я пытаюсь воспроизвести функцию считывания профилей в стопке карт. Профили загружаются через бэкэнд Firebase Firestore. Проблема в том, что из-за запроса geoFireStore я получаю при каждой загрузке в пределах указанного c радиуса целую пачку документов, и я хотел бы уменьшить объем чтения непосредственно в запросе.
Так что я Я пытаюсь добиться того, чтобы, когда я пролистал профиль один раз (влево или вправо), я никогда не хочу читать его в запросе снова. Кроме того, чтобы сохранить чтения, я не хочу делать это на стороне клиента, это должно быть сделано непосредственно в запросе.
Firestore JSON структура на данный момент:
Если карта соответствия не содержит собственный UID ( если существует значение null), тогда читайте в запросе, иначе, когда собственный UID существует в другом профиле пользователя при сопоставлении карты (логическое значение: true или false для понравившегося или не понравившегося), тогда не будет отображаться как результат запроса.
My Поток построен следующим образом:
return geo
.collection(
collectionRef:
friendrCollection.where("active", isEqualTo: true).where("match.$uid", isNull: true))
.within(
center: geoFirePoint,
radius: suchRadius,
field: 'position',
strictMode: false)
.map(_friendrsGPSListFromSnapshot);
}
Я работаю над этим уже 3 недели и не получаю желаемых результатов: D
- Должен ли я остаться с камином или лучше в режиме реального времени базы данных? -Как мне нужно структурировать данные, чтобы получить рабочий запрос «кроме»?
Сейчас это выглядит так:
Коллекция: Пользователи -> Документы: UID -> Соответствовать { ownUID}
Заранее спасибо
Андреас:)