/{db}/_design/{ddoc}/_show/{func}
Предупреждение
Функции show объявлены устаревшими в CouchDB 3.0 и будут удалены в CouchDB 4.0.
-
GET/{db}/_design/{ddoc}/_show/{func}
-
POST/{db}/_design/{ddoc}/_show/{func} -
Применяет функцию show к документу
null.Параметры запроса и ответа зависят от реализации функции.
- Параметры:
-
db – Имя базы данных
ddoc – Имя дизайн-документа
func – Имя функции show
- Заголовки ответа:
-
ETag – Подпись ответа
- Параметры запроса:
-
format (string) – Формат возвращаемого ответа. Используется функцией
provides()
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Неавторизованный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
500 Internal Server Error – Ошибка сервера запросов
Функция:
function(doc, req) { if (!doc) { return {body: "no doc"} } else { return {body: doc.description} } }Запрос:
GET /recipes/_design/recipe/_show/description HTTP/1.1 Accept: application/json Host: localhost:5984
Ответ:
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
/{db}/_design/{ddoc}/_show/{func}/{docid}
Предупреждение
Функции show объявлены устаревшими в CouchDB 3.0 и будут удалены в CouchDB 4.0.
-
GET/{db}/_design/{ddoc}/_show/{func}/{docid}
-
POST/{db}/_design/{ddoc}/_show/{func}/{docid} -
Применяет функцию show к указанному документу.
Параметры запроса и ответа зависят от реализации функции.
- Параметры:
-
db – Имя базы данных
ddoc – Имя дизайн-документа
func – Имя функции show
docid – Идентификатор документа
- Заголовки ответа:
-
ETag – Подпись ответа
- Параметры запроса:
-
format (string) – Формат возвращаемого ответа. Используется функцией
provides()
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Неавторизованный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
500 Internal Server Error – Ошибка сервера запросов
Функция:
function(doc, req) { if (!doc) { return {body: "no doc"} } else { return {body: doc.description} } }Запрос:
GET /recipes/_design/recipe/_show/description/SpaghettiWithMeatballs HTTP/1.1 Accept: application/json Host: localhost:5984
Ответ:
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.
/{db}/_design/{ddoc}/_list/{func}/{view}
Предупреждение
Функции list объявлены устаревшими в CouchDB 3.0 и будут удалены в CouchDB 4.0.
-
GET/{db}/_design/{ddoc}/_list/{func}/{view}
-
POST/{db}/_design/{ddoc}/_list/{func}/{view} -
Применяет функцию list к функции view из того же дизайн-документа.
Параметры запроса и ответа зависят от реализации функции.
- Параметры:
-
db – Имя базы данных
ddoc – Имя дизайн-документа
func – Имя функции list
view – Имя функции view
- Заголовки ответа:
-
ETag – Подпись ответа
Transfer-Encoding –
chunked
- Параметры запроса:
-
format (string) – Формат возвращаемого ответа. Используется функцией
provides()
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Неавторизованный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
500 Internal Server Error – Ошибка сервера запросов
Функция:
function(head, req) { var row = getRow(); if (!row){ return 'no ingredients' } send(row.key); while(row=getRow()){ send(', ' + row.key); } }Запрос:
GET /recipes/_design/recipe/_list/ingredients/by_name HTTP/1.1 Accept: text/plain Host: localhost:5984
Ответ:
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
/{db}/_design/{ddoc}/_list/{func}/{other-ddoc}/{view}
Предупреждение
Функции list объявлены устаревшими в CouchDB 3.0 и будут удалены в CouchDB 4.0.
-
GET/{db}/_design/{ddoc}/_list/{func}/{other-ddoc}/{view}
-
POST/{db}/_design/{ddoc}/_list/{func}/{other-ddoc}/{view} -
Применяет функцию list к функции view из другого дизайн-документа.
Параметры запроса и ответа зависят от реализации функции.
- Параметры:
-
db – Имя базы данных
ddoc – Имя дизайн-документа
func – Имя функции list
other-ddoc – Имя другого дизайн-документа, содержащего функцию view
view – Имя функции view
- Заголовки ответа:
-
ETag – Подпись ответа
Transfer-Encoding –
chunked
- Параметры запроса:
-
format (string) – Формат возвращаемого ответа. Используется функцией
provides()
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Неавторизованный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
500 Internal Server Error – Ошибка сервера запросов
Функция:
function(head, req) { var row = getRow(); if (!row){ return 'no ingredients' } send(row.key); while(row=getRow()){ send(', ' + row.key); } }Запрос:
GET /recipes/_design/ingredient/_list/ingredients/recipe/by_ingredient?key="spaghetti" HTTP/1.1 Accept: text/plain Host: localhost:5984
Ответ:
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
/{db}/_design/{ddoc}/_update/{func}
-
POST/{db}/_design/{ddoc}/_update/{func} -
Выполняет на стороне сервера функцию update для документа
null.- Параметры:
-
db – Имя базы данных
ddoc – Имя дизайн-документа
func – Имя функции update
- Заголовки ответа:
-
X-Couch-Id – Идентификатор созданного/обновлённого документа
X-Couch-Update-NewRev – Редакция созданного/обновлённого документа
- Коды состояния:
-
200 OK – Документ не был создан или обновлён
201 Created – Документ был создан или обновлён
401 Unauthorized – Неавторизованный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
500 Internal Server Error – Ошибка сервера запросов
Функция:
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'}}]; } }Запрос:
POST /recipes/_design/recipe/_update/ingredients HTTP/1.1 Accept: application/json Content-Length: 10 Content-Type: application/json Host: localhost:5984 "something"
Ответ:
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" }
/{db}/_design/{ddoc}/_update/{func}/{docid}
-
PUT/{db}/_design/{ddoc}/_update/{func}/{docid} -
Выполняет на стороне сервера функцию update для указанного документа.
- Параметры:
-
db – Имя базы данных
ddoc – Имя дизайн-документа
func – Имя функции update
docid – Идентификатор документа
- Заголовки ответа:
-
X-Couch-Id – Идентификатор созданного/обновлённого документа
X-Couch-Update-NewRev – Редакция созданного/обновлённого документа
- Коды состояния:
-
200 OK – Документ не был создан или обновлён
201 Created – Документ был создан или обновлён
401 Unauthorized – Неавторизованный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
500 Internal Server Error – Ошибка сервера запросов
Функция:
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'}}]; } }Запрос:
PUT /recipes/_design/recipe/_update/ingredients/SpaghettiWithMeatballs HTTP/1.1 Accept: application/json Content-Length: 5 Content-Type: application/json Host: localhost:5984 "love"
Ответ:
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" }
Copyright © 2025 The Apache Software Foundation — Licensed under the Apache License 2.0
https://docs.couchdb.org/en/3.5.1/api/ddoc/render.html