1
0
Fork 0
arangodb/Documentation/DocuBlocks/Rest/Simple Queries/put_api_simple_range.md

2.7 KiB

@startDocuBlock put_api_simple_range @brief returns all documents of a collection within a range

@RESTHEADER{PUT /_api/simple/range, Simple range query}

@HINTS {% hint 'warning' %} This route should no longer be used. All endpoints for Simple Queries are deprecated from version 3.4.0 on. They are superseded by AQL queries. {% endhint %}

@RESTBODYPARAM{collection,string,required,string} The name of the collection to query.

@RESTBODYPARAM{attribute,string,required,string} The attribute path to check.

@RESTBODYPARAM{left,string,required,string} The lower bound.

@RESTBODYPARAM{right,string,required,string} The upper bound.

@RESTBODYPARAM{closed,boolean,required,} If true, use interval including left and right, otherwise exclude right, but include left.

@RESTBODYPARAM{skip,string,required,string} The number of documents to skip in the query (optional).

@RESTBODYPARAM{limit,integer,optional,int64} The maximal amount of documents to return. The skip is applied before the limit restriction. (optional)

@RESTDESCRIPTION

This will find all documents within a given range. In order to execute a range query, a skip-list index on the queried attribute must be present.

Returns a cursor containing the result, see HTTP Cursor for details.

Note: the range simple query is deprecated as of ArangoDB 2.6. The function may be removed in future versions of ArangoDB. The preferred way for retrieving documents from a collection within a specific range is to use an AQL query as follows:

FOR doc IN @@collection 
  FILTER doc.value >= @left && doc.value < @right 
  LIMIT @skip, @limit 
  RETURN doc`

@RESTRETURNCODES

@RESTRETURNCODE{201} is returned if the query was executed successfully.

@RESTRETURNCODE{400} is returned if the body does not contain a valid JSON representation of a query. The response body contains an error document in this case.

@RESTRETURNCODE{404} is returned if the collection specified by collection is unknown or no suitable index for the range query is present. The response body contains an error document in this case.

@EXAMPLES

@EXAMPLE_ARANGOSH_RUN{RestSimpleRange} var cn = "products"; db._drop(cn); var products = db._create(cn); products.ensureUniqueSkiplist("i"); products.save({ "i": 1}); products.save({ "i": 2}); products.save({ "i": 3}); products.save({ "i": 4}); var url = "/_api/simple/range"; var body = { "collection": "products", "attribute" : "i", "left" : 2, "right" : 4 };

var response = logCurlRequest('PUT', url, body);

assert(response.code === 201);

logJsonResponse(response);
db._drop(cn);

@END_EXAMPLE_ARANGOSH_RUN @endDocuBlock