Spec-Zone.ru › CouchDB 3.5

/{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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API