10.5.1. /db/_design/design-doc
¶
-
HEAD
/{db}/_design/{ddoc}
¶ Returns the HTTP Headers containing a minimal amount of information about the specified design document.
See also
-
GET
/{db}/_design/{ddoc}
¶ Returns the contents of the design document specified with the name of the design document and from the specified database from the URL. Unless you request a specific revision, the latest revision of the document will always be returned.
See also
-
PUT
/{db}/_design/{ddoc}
¶ The PUT method creates a new named design document, or creates a new revision of the existing design document.
The design documents have some agreement upon their fields and structure. Currently it is the following:
- language (string): Defines Query Server
key
to process design document functions - options (object): View’s default options
- filters (object): Filter functions definition
- lists (object): List functions definition
- rewrites (array or string): Rewrite rules definition
- shows (object): Show functions definition
- updates (object): Update functions definition
- validate_doc_update (string): Validate document update function source
- views (object): View functions definition.
Note, that for
filters
,lists
,shows
andupdates
fields objects are mapping of function name to string function source code. Forviews
mapping is the same except that values are objects withmap
andreduce
(optional) keys which also contains functions source code.See also
- language (string): Defines Query Server
-
DELETE
/{db}/_design/{ddoc}
¶ Deletes the specified document from the database. You must supply the current (latest) revision, either by using the
rev
parameter to specify the revision.See also
-
COPY
/{db}/_design/{ddoc}
¶ The COPY (which is non-standard HTTP) copies an existing design document to a new or existing one.
Given that view indexes on disk are named after their MD5 hash of the view definition, and that a COPY operation won’t actually change that definition, the copied views won’t have to be reconstructed. Both views will be served from the same index on disk.
See also
10.5.2. /db/_design/design-doc/attachment
¶
-
HEAD
/{db}/_design/{ddoc}/{attname}
¶ Returns the HTTP headers containing a minimal amount of information about the specified attachment.
See also
-
GET
/{db}/_design/{ddoc}/{attname}
¶ Returns the file attachment associated with the design document. The raw data of the associated attachment is returned (just as if you were accessing a static file.
See also
-
PUT
/{db}/_design/{ddoc}/{attname}
¶ Uploads the supplied content as an attachment to the specified design document. The attachment name provided must be a URL encoded string.
See also
-
DELETE
/{db}/_design/{ddoc}/{attname}
¶ Deletes the attachment of the specified design document.
See also
10.5.3. /db/_design/design-doc/_info
¶
-
GET
/{db}/_design/{ddoc}/_info
¶ Obtains information about the specified design document, including the index, index size and current status of the design document and associated index information.
Parameters: - db – Database name
- ddoc – Design document name
Request Headers: - Accept –
- application/json
- text/plain
Response Headers: - Content-Type –
- application/json
- text/plain; charset=utf-8
Response JSON Object: - name (string) – Design document name
- view_index (object) – View Index Information
Status Codes: - 200 OK – Request completed successfully
Request:
GET /recipes/_design/recipe/_info HTTP/1.1 Accept: application/json Host: localhost:5984
Response:
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 263 Content-Type: application/json Date: Sat, 17 Aug 2013 12:54:17 GMT Server: CouchDB (Erlang/OTP) { "name": "recipe", "view_index": { "compact_running": false, "data_size": 926691, "disk_size": 1982704, "language": "python", "purge_seq": 0, "signature": "a59a1bb13fdf8a8a584bc477919c97ac", "update_seq": 12397, "updater_running": false, "waiting_clients": 0, "waiting_commit": false } }
View Index Information¶
The response from GET /{db}/_design/{ddoc}/_info
contains
view_index
(object) field with the next structure:
- compact_running (boolean): Indicates whether a compaction routine is currently running on the view
- data_size (number): Actual size in bytes of the view
- disk_size (number): Size in bytes of the view as stored on disk
- language (string): Language for the defined views
- purge_seq (number): The purge sequence that has been processed
- signature (string): MD5 signature of the views for the design document
- update_seq (number / string): The update sequence of the corresponding database that has been indexed
- updater_running (boolean): Indicates if the view is currently being updated
- waiting_clients (number): Number of clients waiting on views from this design document
- waiting_commit (boolean): Indicates if there are outstanding commits to the underlying database that need to processed