Marie
Marie

Reputation: 11

Select documents from Fauna collection between two dates AND that satisfy another criteria

I am able to use the following code to retrieve documents from a Fauna collection that have a date which falls between start and end dates:

Paginate(Range(Match(Index("orders_by_date")) , start, end))

Is it possible to add another criteria to this statement to retrieve not only, in this case, orders between two dates but also have the field status = "completed".

Thank you

Upvotes: 1

Views: 165

Answers (1)

Luigi Servini
Luigi Servini

Reputation: 176

You can create an index that way:

CreateIndex(
  {
    name:'orders_by_date_status',
    source:Collection("orders"), 
    terms: [{field:['data','status']}], 
    values:[{field:['data','order_date']},{field:['ref']}]
  }
)

and query your collection with a query like this:

Paginate(
  Range(
    Match('orders_by_date_status','completed'),
    [Date("2020-03-20")],
    [Date("2020-06-20")]
  )
)

to get back something like this:

{
  data: [
    [Date("2020-05-20"), Ref(Collection("orders"), "285246145700037121")],
    [Date("2020-06-20"), Ref(Collection("orders"), "285246152717107713")]
  ]
}

Hope this answers your question.

Luigi

Upvotes: 1

Related Questions