You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by wo...@apache.org on 2018/03/22 06:37:54 UTC
[couchdb-documentation] branch master updated: Add the POST
_bulk_get endpoint (#263)
This is an automated email from the ASF dual-hosted git repository.
wohali pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git
The following commit(s) were added to refs/heads/master by this push:
new 02903bb Add the POST _bulk_get endpoint (#263)
02903bb is described below
commit 02903bb65194519bcc6952df16a87fcfaf86867d
Author: Bruno Michel <br...@free.fr>
AuthorDate: Thu Mar 22 07:37:51 2018 +0100
Add the POST _bulk_get endpoint (#263)
---
src/api/database/bulk-api.rst | 126 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 126 insertions(+)
diff --git a/src/api/database/bulk-api.rst b/src/api/database/bulk-api.rst
index 5768d15..c7088e1 100644
--- a/src/api/database/bulk-api.rst
+++ b/src/api/database/bulk-api.rst
@@ -456,6 +456,132 @@ Sending multiple queries to a database
The multiple queries are also supported in /db/_local_docs/queries and
/db/_design_docs/queries (similar to /db/_all_docs/queries).
+.. _api/db/bulk_get:
+
+==================
+``/db/_bulk_get``
+==================
+
+.. http:post:: /{db}/_bulk_get
+ :synopsis: Fetches several documents at the given revisions
+
+ This method can be called to query several documents in bulk. It is well
+ suited for fetching a specific revision of documents, as replicators do for
+ example, or for getting revision history.
+
+ :param db: Database name
+ :<header Accept: - :mimetype:`application/json`
+ :<header Content-Type: :mimetype:`application/json`
+ :query boolean revs: Give the revisions history
+ :<json array docs: List of document objects, with ``id``, and optionnaly
+ ``rev`` and ``atts_since``
+ :>header Content-Type: - :mimetype:`application/json`
+ :>json object results: the documents, with the additionnal ``_revisions``
+ property that lists the parent revisions if ``revs=true``
+ :code 200: Request completed successfully
+ :code 400: The request provided invalid JSON data or invalid query parameter
+ :code 401: Read permission required
+ :code 404: Invalid database name
+ :code 415: Bad :header:`Content-Type` value
+
+ **Request**:
+
+ .. code-block:: http
+
+ POST /db/_bulk_get HTTP/1.1
+ Accept: application/json
+ Content-Type:application/json
+ Host: localhost:5984
+
+ {
+ "docs": [
+ {
+ "id": "foo"
+ "rev": "4-753875d51501a6b1883a9d62b4d33f91",
+ },
+ {
+ "id": "foo"
+ "rev": "1-4a7e4ae49c4366eaed8edeaea8f784ad",
+ },
+ {
+ "id": "bar",
+ }
+ ]
+ }
+
+ **Response**:
+
+ .. code-block:: http
+
+ HTTP/1.1 200 OK
+ Cache-Control: must-revalidate
+ Content-Type: application/json
+ Date: Mon, 19 Mar 2018 15:27:34 GMT
+ Server: CouchDB (Erlang/OTP)
+
+ {
+ "results": [
+ {
+ "id": "foo",
+ "docs": [
+ {
+ "ok": {
+ "_id": "bbb",
+ "_rev": "4-753875d51501a6b1883a9d62b4d33f91",
+ "value": "this is foo",
+ "_revisions": {
+ "start": 4,
+ "ids": [
+ "753875d51501a6b1883a9d62b4d33f91",
+ "efc54218773c6acd910e2e97fea2a608",
+ "2ee767305024673cfb3f5af037cd2729",
+ "4a7e4ae49c4366eaed8edeaea8f784ad"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "id": "foo",
+ "docs": [
+ {
+ "ok": {
+ "_id": "bbb",
+ "_rev": "1-4a7e4ae49c4366eaed8edeaea8f784ad",
+ "value": "this is the first revision of foo",
+ "_revisions": {
+ "start": 1,
+ "ids": [
+ "4a7e4ae49c4366eaed8edeaea8f784ad"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "id": "bar",
+ "docs": [
+ {
+ "ok": {
+ "_id": "bar",
+ "_rev": "2-9b71d36dfdd9b4815388eb91cc8fb61d",
+ "baz": true,
+ "_revisions": {
+ "start": 2,
+ "ids": [
+ "9b71d36dfdd9b4815388eb91cc8fb61d",
+ "309651b95df56d52658650fb64257b97"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+
.. _api/db/bulk_docs:
==================
--
To stop receiving notification emails like this one, please contact
wohali@apache.org.