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

2.8 KiB

//////////////////////////////////////////////////////////////////////////////// /// @startDocuBlock RestLookupByKeys /// @brief fetches multiple documents by their keys /// /// @RESTHEADER{PUT /_api/simple/lookup-by-keys, Find documents by their keys} /// /// @RESTBODYPARAM{collection,string,required,string} /// The name of the collection to look in for the documents /// /// @RESTBODYPARAM{keys,array,required,string} /// array with the _keys of documents to remove. /// /// @RESTDESCRIPTION /// Looks up the documents in the specified collection using the array of keys /// provided. All documents for which a matching key was specified in the keys /// array and that exist in the collection will be returned. /// Keys for which no document can be found in the underlying collection are /// ignored, /// and no exception will be thrown for them. /// /// The body of the response contains a JSON object with a documents /// attribute. The /// documents attribute is an array containing the matching documents. The /// order in /// which matching documents are present in the result array is unspecified. /// /// @RESTRETURNCODES /// /// @RESTRETURNCODE{200} /// is returned if the operation was carried out successfully. /// /// @RESTRETURNCODE{404} /// is returned if the collection was not found. /// The response body contains an error document in this case. /// /// @RESTRETURNCODE{405} /// is returned if the operation was called with a different HTTP METHOD than PUT. /// /// @EXAMPLES /// /// Looking up existing documents /// /// @EXAMPLE_ARANGOSH_RUN{RestSimpleLookup} /// var cn = "test"; /// ~ db._drop(cn); /// db._create(cn); /// keys = [ ]; /// for (i = 0; i < 10; ++i) { /// db.test.insert({ _key: "test" + i, value: i }); /// keys.push("test" + i); /// } /// /// var url = "/_api/simple/lookup-by-keys"; /// var data = { keys: keys, collection: cn }; /// var response = logCurlRequest('PUT', url, data); /// /// assert(response.code === 200); /// /// logJsonResponse(response); /// ~ db._drop(cn); /// @END_EXAMPLE_ARANGOSH_RUN /// /// Looking up non-existing documents /// /// @EXAMPLE_ARANGOSH_RUN{RestSimpleLookupNotFound} /// var cn = "test"; /// ~ db._drop(cn); /// db._create(cn); /// keys = [ ]; /// for (i = 0; i < 10; ++i) { /// db.test.insert({ _key: "test" + i, value: i }); /// } /// /// var url = "/_api/simple/lookup-by-keys"; /// var data = { keys: [ "foo", "bar", "baz" ], collection: cn }; /// var response = logCurlRequest('PUT', url, data); /// /// assert(response.code === 200); /// /// logJsonResponse(response); /// ~ db._drop(cn); /// @END_EXAMPLE_ARANGOSH_RUN /// /// @endDocuBlock ////////////////////////////////////////////////////////////////////////////////