Если вы используете предложение where, вы достигнете ограничения, заключающегося в возможности использовать только один оператор сравнения (>=
, >
, <
, <=
) для запроса, так что вы по существу будете толькоможет найти все значения, превышающие дату (хорошо, если вы просто ищете даты за последние 7 дней и ничего не сохранили в будущем), но не позволит вам выполнить операцию, как показано в качестве примера21-09-2019 to 23-09-2019
.
Для этого есть другие параметры, которые будут работать лучше, чем предложение where.В Firestore вы можете использовать startAt(), endAt(),
, чтобы включить то, что вы предоставляете, или startAfter(), endBefore()
.
Чтобы операторы типа startAt были здесь эффективными, вы захотите использовать их вместе с orderBy
.По сути, вы должны будете дать указание Firestore рассмотреть сначала все элементы по порядку времени, а затем возвращать только даты в длинном последовательном списке, которые соответствуют вашему времени начала и окончания.
Это должно сделатьтрюк, и вы можете прочитать о них и их требованиях здесь:
https://firebase.google.com/docs/firestore/query-data/query-cursors https://firebase.google.com/docs/reference/js/firebase.firestore.Query.html