#faunadb
#faunadb
Вопрос:
Я могу использовать следующий код для извлечения документов из коллекции фауны, дата которых находится между начальной и конечной датами:
Разбиение на страницы(диапазон (Совпадение (Индекс («orders_by_date»)) , начало, конец))
Можно ли добавить другие критерии к этому оператору, чтобы получать не только, в данном случае, заказы между двумя датами, но и иметь поле status = «завершено».
Спасибо
Ответ №1:
Вы можете создать индекс таким образом:
CreateIndex(
{
name:'orders_by_date_status',
source:Collection("orders"),
terms: [{field:['data','status']}],
values:[{field:['data','order_date']},{field:['ref']}]
}
)
и запросите свою коллекцию с помощью запроса, подобного этому:
Paginate(
Range(
Match('orders_by_date_status','completed'),
[Date("2020-03-20")],
[Date("2020-06-20")]
)
)
чтобы вернуть что-то вроде этого:
{
data: [
[Date("2020-05-20"), Ref(Collection("orders"), "285246145700037121")],
[Date("2020-06-20"), Ref(Collection("orders"), "285246152717107713")]
]
}
Надеюсь, это ответ на ваш вопрос.
Luigi