- 1.5.7.
/db/_design/design-doc/_show/show-name
- 1.5.8.
/db/_design/design-doc/_show/show-name/doc-id
- 1.5.9.
/db/_design/design-doc/_list/list-name/view-name
- 1.5.10.
/db/_design/design-doc/_list/list-name/other-ddoc/view-name
- 1.5.11.
/db/_design/design-doc/_update/update-name
- 1.5.12.
/db/_design/design-doc/_update/update-name/doc-id
1.5.7. /db/_design/design-doc/_show/show-name
Warning
Show functions are deprecated in CouchDB 3.0, and will be removed in CouchDB 4.0.
GET
/{db}/_design/{ddoc}/_show/{func}
POST
/{db}/_design/{ddoc}/_show/{func}
Applies show function for null
document.
The request and response parameters are depended upon function implementation.
Parameters
db – Database name
ddoc – Design document name
func – Show function name
Response Headers
- ETag – Response signature
Query Parameters
- format (string) – Format of the returned response. Used by provides() function
Status Codes
200 OK – Request completed successfully
500 Internal Server Error – Query server error
Function:
function(doc, req) {
if (!doc) {
return {body: "no doc"}
} else {
return {body: doc.description}
}
}
Request:
GET /recipes/_design/recipe/_show/description HTTP/1.1
Accept: application/json
Host: localhost:5984
Response:
HTTP/1.1 200 OK
Content-Length: 6
Content-Type: text/html; charset=utf-8
Date: Wed, 21 Aug 2013 12:34:07 GMT
Etag: "7Z2TO7FPEMZ0F4GH0RJCRIOAU"
Server: CouchDB (Erlang/OTP)
Vary: Accept
no doc
1.5.8. /db/_design/design-doc/_show/show-name/doc-id
Warning
Show functions are deprecated in CouchDB 3.0, and will be removed in CouchDB 4.0.
GET
/{db}/_design/{ddoc}/_show/{func}/{docid}
POST
/{db}/_design/{ddoc}/_show/{func}/{docid}
Applies show function for the specified document.
The request and response parameters are depended upon function implementation.
Parameters
db – Database name
ddoc – Design document name
func – Show function name
docid – Document ID
Response Headers
- ETag – Response signature
Query Parameters
- format (string) – Format of the returned response. Used by provides() function
Status Codes
200 OK – Request completed successfully
500 Internal Server Error – Query server error
Function:
function(doc, req) {
if (!doc) {
return {body: "no doc"}
} else {
return {body: doc.description}
}
}
Request:
GET /recipes/_design/recipe/_show/description/SpaghettiWithMeatballs HTTP/1.1
Accept: application/json
Host: localhost:5984
Response:
HTTP/1.1 200 OK
Content-Length: 88
Content-Type: text/html; charset=utf-8
Date: Wed, 21 Aug 2013 12:38:08 GMT
Etag: "8IEBO8103EI98HDZL5Z4I1T0C"
Server: CouchDB (Erlang/OTP)
Vary: Accept
An Italian-American dish that usually consists of spaghetti, tomato sauce and meatballs.
1.5.9. /db/_design/design-doc/_list/list-name/view-name
Warning
List functions are deprecated in CouchDB 3.0, and will be removed in CouchDB 4.0.
GET
/{db}/_design/{ddoc}/_list/{func}/{view}
POST
/{db}/_design/{ddoc}/_list/{func}/{view}
Applies list function for the view function from the same design document.
The request and response parameters are depended upon function implementation.
Parameters
db – Database name
ddoc – Design document name
func – List function name
view – View function name
Response Headers
ETag – Response signature
Transfer-Encoding –
chunked
Query Parameters
- format (string) – Format of the returned response. Used by provides() function
Status Codes
200 OK – Request completed successfully
500 Internal Server Error – Query server error
Function:
function(head, req) {
var row = getRow();
if (!row){
return 'no ingredients'
}
send(row.key);
while(row=getRow()){
send(', ' + row.key);
}
}
Request:
GET /recipes/_design/recipe/_list/ingredients/by_name HTTP/1.1
Accept: text/plain
Host: localhost:5984
Response:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Date: Wed, 21 Aug 2013 12:49:15 GMT
Etag: "D52L2M1TKQYDD1Y8MEYJR8C84"
Server: CouchDB (Erlang/OTP)
Transfer-Encoding: chunked
Vary: Accept
meatballs, spaghetti, tomato sauce
1.5.10. /db/_design/design-doc/_list/list-name/other-ddoc/view-name
Warning
List functions are deprecated in CouchDB 3.0, and will be removed in CouchDB 4.0.
GET
/{db}/_design/{ddoc}/_list/{func}/{other-ddoc}/{view}
POST
/{db}/_design/{ddoc}/_list/{func}/{other-ddoc}/{view}
Applies list function for the view function from the other design document.
The request and response parameters are depended upon function implementation.
Parameters
db – Database name
ddoc – Design document name
func – List function name
other-ddoc – Other design document name that holds view function
view – View function name
Response Headers
ETag – Response signature
Transfer-Encoding –
chunked
Query Parameters
- format (string) – Format of the returned response. Used by provides() function
Status Codes
200 OK – Request completed successfully
500 Internal Server Error – Query server error
Function:
function(head, req) {
var row = getRow();
if (!row){
return 'no ingredients'
}
send(row.key);
while(row=getRow()){
send(', ' + row.key);
}
}
Request:
GET /recipes/_design/ingredient/_list/ingredients/recipe/by_ingredient?key="spaghetti" HTTP/1.1
Accept: text/plain
Host: localhost:5984
Response:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Date: Wed, 21 Aug 2013 12:49:15 GMT
Etag: "5L0975X493R0FB5Z3043POZHD"
Server: CouchDB (Erlang/OTP)
Transfer-Encoding: chunked
Vary: Accept
spaghetti
1.5.11. /db/_design/design-doc/_update/update-name
POST
/{db}/_design/{ddoc}/_update/{func}
Executes update function on server side for null
document.
Parameters
db – Database name
ddoc – Design document name
func – Update function name
Response Headers
X-Couch-Id – Created/updated document’s ID
X-Couch-Update-Newrev – Created/updated document’s revision
Status Codes
200 OK – No document was created or updated
201 Created – Document was created or updated
500 Internal Server Error – Query server error
Function:
function(doc, req) {
if (!doc){
return [null, {'code': 400,
'json': {'error': 'missed',
'reason': 'no document to update'}}]
} else {
doc.ingredients.push(req.body);
return [doc, {'json': {'status': 'ok'}}];
}
}
Request:
POST /recipes/_design/recipe/_update/ingredients HTTP/1.1
Accept: application/json
Content-Length: 10
Content-Type: application/json
Host: localhost:5984
"something"
Response:
HTTP/1.1 404 Object Not Found
Cache-Control: must-revalidate
Content-Length: 52
Content-Type: application/json
Date: Wed, 21 Aug 2013 14:00:58 GMT
Server: CouchDB (Erlang/OTP)
{
"error": "missed",
"reason": "no document to update"
}
1.5.12. /db/_design/design-doc/_update/update-name/doc-id
PUT
/{db}/_design/{ddoc}/_update/{func}/{docid}
Executes update function on server side for the specified document.
Parameters
db – Database name
ddoc – Design document name
func – Update function name
docid – Document ID
Response Headers
X-Couch-Id – Created/updated document’s ID
X-Couch-Update-Newrev – Created/updated document’s revision
Status Codes
200 OK – No document was created or updated
201 Created – Document was created or updated
500 Internal Server Error – Query server error
Function:
function(doc, req) {
if (!doc){
return [null, {'code': 400,
'json': {'error': 'missed',
'reason': 'no document to update'}}]
} else {
doc.ingredients.push(req.body);
return [doc, {'json': {'status': 'ok'}}];
}
}
Request:
POST /recipes/_design/recipe/_update/ingredients/SpaghettiWithMeatballs HTTP/1.1
Accept: application/json
Content-Length: 5
Content-Type: application/json
Host: localhost:5984
"love"
Response:
HTTP/1.1 201 Created
Cache-Control: must-revalidate
Content-Length: 16
Content-Type: application/json
Date: Wed, 21 Aug 2013 14:11:34 GMT
Server: CouchDB (Erlang/OTP)
X-Couch-Id: SpaghettiWithMeatballs
X-Couch-Update-NewRev: 12-a5e099df5720988dae90c8b664496baf
{
"status": "ok"
}