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 d04c9cd  Document new endpoint _design_docs   This endpoint allows to 
return a JSON structure of all of the design   documents in a given database.
d04c9cd is described below

commit d04c9cd4dd0f5c504b6fcb24f7a58677264fa647
Author: jiangphcn <[email protected]>
AuthorDate: Thu Jan 25 15:23:55 2018 +0800

    Document new endpoint _design_docs
      This endpoint allows to return a JSON structure of all of the design
      documents in a given database.
    
    issue 1100
---
 src/api/database/bulk-api.rst | 177 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 177 insertions(+)

diff --git a/src/api/database/bulk-api.rst b/src/api/database/bulk-api.rst
index 60cc3c8..12aeec8 100644
--- a/src/api/database/bulk-api.rst
+++ b/src/api/database/bulk-api.rst
@@ -147,6 +147,183 @@
             "offset" : 0
         }
 
+.. _api/db/design_docs:
+
+====================
+``/db/_design_docs``
+====================
+
+.. versionadded:: 2.1+
+
+.. http:get:: /{db}/_design_docs
+    :synopsis: Returns a built-in view of all design documents in this database
+
+    Returns a JSON structure of all of the design documents in a given
+    database. The information is returned as a JSON structure containing meta
+    information about the return structure, including a list of all design
+    documents and basic contents, consisting the ID, revision and key. The key
+    is the from the design document's ``_id``.
+
+    :param db: Database name
+    :<header Accept: - :mimetype:`application/json`
+                     - :mimetype:`text/plain`
+    :query boolean conflicts: Includes `conflicts` information in response.
+      Ignored if `include_docs` isn't ``true``. Default is ``false``.
+    :query boolean descending: Return the design documents in descending by
+      key order. Default is ``false``.
+    :query string endkey: Stop returning records when the specified key is
+      reached. *Optional*.
+    :query string end_key: Alias for `endkey` param.
+    :query string endkey_docid: Stop returning records when the specified
+        design document ID is reached. *Optional*.
+    :query string end_key_doc_id: Alias for `endkey_docid` param.
+    :query boolean include_docs: Include the full content of the design
+      documents in the return. Default is ``false``.
+    :query boolean inclusive_end: Specifies whether the specified end key
+      should be included in the result. Default is ``true``.
+    :query string key: Return only design documents that match the specified
+      key. *Optional*.
+    :query string keys: Return only design documents that match the specified
+      keys. *Optional*.
+    :query number limit: Limit the number of the returned design documents to
+      the specified number. *Optional*.
+    :query number skip: Skip this number of records before starting to return
+      the results. Default is ``0``.
+    :query string startkey: Return records starting with the specified key.
+      *Optional*.
+    :query string start_key: Alias for `startkey` param.
+    :query string startkey_docid: Return records starting with the specified
+      design document ID. *Optional*.
+    :query string start_key_doc_id: Alias for `startkey_docid` param.
+    :query boolean update_seq: Response includes an ``update_seq`` value
+      indicating which sequence id of the underlying database the view
+      reflects. Default is ``false``.
+    :>header Content-Type: - :mimetype:`application/json`
+                           - :mimetype:`text/plain; charset=utf-8`
+    :>header ETag: Response signature
+    :>json number offset: Offset where the design document list started
+    :>json array rows: Array of view row objects. By default the information
+      returned contains only the design document ID and revision.
+    :>json number total_rows: Number of design documents in the database. Note
+      that this is not the number of rows returned in the actual query.
+    :>json number update_seq: Current update sequence for the database
+    :code 200: Request completed successfully
+
+    **Request**:
+
+    .. code-block:: http
+
+        GET /db/_design_docs HTTP/1.1
+        Accept: application/json
+        Host: localhost:5984
+
+    **Response**:
+
+    .. code-block:: http
+
+        HTTP/1.1 200 OK
+        Cache-Control: must-revalidate
+        Content-Type: application/json
+        Date: Sat, 23 Dec 2017 16:22:56 GMT
+        ETag: "1W2DJUZFZSZD9K78UFA3GZWB4"
+        Server: CouchDB (Erlang/OTP)
+        Transfer-Encoding: chunked
+
+        {
+            "offset": 0,
+            "rows": [
+                {
+                    "id": "_design/ddoc01",
+                    "key": "_design/ddoc01",
+                    "value": {
+                        "rev": "1-7407569d54af5bc94c266e70cbf8a180"
+                    }
+                },
+                {
+                    "id": "_design/ddoc02",
+                    "key": "_design/ddoc02",
+                    "value": {
+                        "rev": "1-d942f0ce01647aa0f46518b213b5628e"
+                    }
+                },
+                {
+                    "id": "_design/ddoc03",
+                    "key": "_design/ddoc03",
+                    "value": {
+                        "rev": "1-721fead6e6c8d811a225d5a62d08dfd0"
+                    }
+                },
+                {
+                    "id": "_design/ddoc04",
+                    "key": "_design/ddoc04",
+                    "value": {
+                        "rev": "1-32c76b46ca61351c75a84fbcbceece2f"
+                    }
+                },
+                {
+                    "id": "_design/ddoc05",
+                    "key": "_design/ddoc05",
+                    "value": {
+                        "rev": "1-af856babf9cf746b48ae999645f9541e"
+                    }
+                }
+            ],
+            "total_rows": 5
+        }
+
+.. http:post:: /{db}/_design_docs
+    :synopsis: Returns certain rows from the built-in view of all design
+      documents
+
+    The ``POST`` to ``_design_docs`` allows to specify multiple keys to be
+    selected from the database. This enables you to request multiple
+    design documents in a single request, in place of multiple
+    :get:`/{db}/{docid}` requests.
+
+    The request body should contain a list of the keys to be returned as an
+    array to a ``keys`` object. For example:
+
+    .. code-block:: http
+
+        POST /db/_all_docs HTTP/1.1
+        Accept: application/json
+        Content-Length: 70
+        Content-Type: application/json
+        Host: localhost:5984
+
+        {
+            "keys" : [
+                "_design/ddoc02",
+                "_design/ddoc05"
+            ]
+        }
+
+    The returned JSON is the all documents structure, but with only the
+    selected keys in the output:
+
+    .. code-block:: javascript
+
+        {
+            "total_rows" : 5,
+            "rows" : [
+                {
+                    "value" : {
+                        "rev" : "1-d942f0ce01647aa0f46518b213b5628e"
+                    },
+                    "id" : "_design/ddoc02",
+                    "key" : "_design/ddoc02"
+                },
+                {
+                    "value" : {
+                        "rev" : "1-af856babf9cf746b48ae999645f9541e"
+                    },
+                    "id" : "_design/ddoc05",
+                    "key" : "_design/ddoc05"
+                }
+            ],
+            "offset" : 0
+        }
+
 .. _api/db/bulk_docs:
 
 ==================

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to