У меня есть коллекция продуктов в моей базе данных firestore. Я хочу, чтобы пользователь мог фильтровать эти продукты по таким полям, как цвет, тип и бренд. Каждый продукт содержит значение для каждого из этих полей.
В настоящее время я попытался использовать запрос where для возврата коллекции значений, которые будут выбраны пользователем (что работает), но я хочу для реализации бесконечной прокрутки / разбивки на страницы, чтобы я мог ограничить количество считываний, выполняемых одновременно.
Моя попытка кода:
return this.db
.collection("products", (ref) =>
ref.where('productName', '==', 'sofa').orderBy('productName').startAfter(lastSeen).limit(batchSize)
)
.snapshotChanges();
Этот код, конечно, возвращает ошибку, поскольку вы не можете объединить где с запросом orderBy / startAfter.
Мой вопрос в том, как я могу адаптировать этот код для использования множественного равенства, где (мне нужны точные совпадения, поэтому не использую 'array-contains'), что также позволило бы мне использовать orderBy, чтобы я мог добавить бесконечную прокрутку / ограничить количество результатов.