1.5.1. /db/_design/design-doc

HEAD /{db}/_design/{ddoc}

返回包含有关指定设计文档的少量信息的 HTTP 标头。

另请参阅

HEAD /{db}/{docid}

GET /{db}/_design/{ddoc}

返回 URL 中指定的设计文档名称和指定数据库中的设计文档内容。除非您请求特定版本,否则始终返回文档的最新版本。

另请参阅

GET /{db}/{docid}

PUT /{db}/_design/{ddoc}

PUT 方法创建新的命名设计文档,或创建现有设计文档的新版本。

设计文档对其字段和结构有一些约定。目前是以下内容

  • language (string): 定义 查询服务器 处理设计文档函数

  • options (object): 视图的默认选项

  • filters (object): 过滤器函数 定义

  • lists (object): 列表函数 定义。已弃用。

  • rewrites (arraystring): 重写规则定义。已弃用。

  • shows (object): 显示函数 定义。已弃用。

  • updates (object): 更新函数 定义

  • validate_doc_update (string): 验证文档更新 函数源代码

  • views (object): 视图函数 定义。

  • autoupdate (boolean): 指示是否自动构建此设计文档中定义的索引。默认值为 true

请注意,对于 filterslistsshowsupdates 字段,对象是函数名称到字符串函数源代码的映射。对于 views,映射相同,除了值是包含 mapreduce(可选)键的对象,这些键也包含函数源代码。

另请参阅

PUT /{db}/{docid}

DELETE /{db}/_design/{ddoc}

从数据库中删除指定的文档。您必须提供当前(最新)版本,方法是使用 rev 参数指定版本。

另请参阅

DELETE /{db}/{docid}

COPY /{db}/_design/{ddoc}

COPY(非标准 HTTP)将现有设计文档复制到新的或现有的设计文档。

鉴于磁盘上的视图索引以其视图定义的 MD5 哈希命名,并且 COPY 操作实际上不会更改该定义,因此复制的视图无需重建。两个视图都将从磁盘上的同一索引提供服务。

另请参阅

COPY /{db}/{docid}

1.5.2. /db/_design/design-doc/attachment

HEAD /{db}/_design/{ddoc}/{attname}

返回包含有关指定附件的少量信息的 HTTP 标头。

GET /{db}/_design/{ddoc}/{attname}

返回与设计文档关联的文件附件。返回关联附件的原始数据(就像您访问静态文件一样)。

PUT /{db}/_design/{ddoc}/{attname}

将提供的內容作为附件上传到指定的设计文档。提供的附件名称必须是 URL 编码的字符串。

DELETE /{db}/_design/{ddoc}/{attname}

删除指定设计文档的附件。

1.5.3. /db/_design/design-doc/_info

GET /{db}/_design/{ddoc}/_info

获取有关指定设计文档的信息,包括索引、索引大小以及设计文档和关联索引信息的当前状态。

参数:
  • db – 数据库名称

  • ddoc – 设计文档名称

请求标头:
  • Accept

    • application/json

    • text/plain

响应标头:
  • Content-Type

    • application/json

    • text/plain; charset=utf-8

响应 JSON 对象:
状态代码:
  • 200 OK – 请求已成功完成

请求:

GET /recipes/_design/recipe/_info HTTP/1.1
Accept: application/json
Host: localhost:5984

响应:

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,
        "language": "python",
        "purge_seq": 0,
        "signature": "a59a1bb13fdf8a8a584bc477919c97ac",
        "sizes": {
          "active": 926691,
          "disk": 1982704,
          "external": 1535701
        },
        "update_seq": 12397,
        "updater_running": false,
        "waiting_clients": 0,
        "waiting_commit": false
    }
}

1.5.3.1. 视图索引信息

来自 GET /{db}/_design/{ddoc}/_info 的响应包含 view_index (object) 字段,其结构如下

  • compact_running (boolean): 指示视图上是否正在运行压缩例程

  • sizes.active (number): 视图中活动数据的字节大小

  • sizes.external (number): 视图内容的未压缩字节大小

  • sizes.file (number): 视图在磁盘上存储的字节大小

  • language (string): 定义视图的语言

  • purge_seq (number): 已处理的清除序列

  • signature (string): 设计文档视图的 MD5 签名

  • update_seq (number / string): 已索引的相应数据库的更新序列

  • updater_running (boolean): 指示视图当前是否正在更新

  • waiting_clients (number): 等待来自此设计文档的视图的客户端数量

  • waiting_commit (boolean): 指示基础数据库中是否有待处理的提交需要处理