1.7. 本地(非复制)文档¶
本地(非复制)文档接口允许您创建不复制到其他数据库的本地文档。这些文档可用于保存本地CouchDB实例上特别需要的配置或其他信息。
本地文件有以下限制:
- 本地文档不会复制到其他数据库。
- 本地文档不是由视图输出的,或者 /{db}/_all_docs 查看。
在CouchDB 2.0中,可以使用/db/u Local_docs端点列出本地文档。
当您要存储给定数据库的当前(本地)实例的配置或其他信息时,可以使用本地文档。
下面提供了可用方法和URL路径的列表:
方法 | 路径 | 描述 |
---|---|---|
快,快 | /db/_local_docs | 返回数据库中所有未复制文档的列表 |
GET | /db/_local/id | 返回非复制文档的最新修订版本 |
PUT | /db/_local/id | 插入未复制文档的新版本 |
DELETE | /db/_local/id | 删除未复制的文档 |
COPY | /db/_local/id | 复制未复制的文档 |
1.7.1. /db/_local_docs
¶
-
GET
/{db}/_local_docs
¶ 返回给定数据库中所有本地文档的JSON结构。信息以JSON结构的形式返回,其中包含有关返回结构的元信息,包括所有本地文档和基本内容的列表,包括ID、revision和key。关键是来自本地文档的
_id
.参数: - db -- 数据库名称
请求标头: - Accept --
- application/json
- text/plain
查询参数: - conflicts (boolean) -- 包括 conflicts 作为回应的信息。如果出现以下情况,则忽略
include_docs
不是吗true
。默认值为false
。 - descending (boolean) -- 按键降序返回本地文档。默认为
false
. - endkey (string) -- 当达到指定的键时停止返回记录。 可选的 .
- end_key (string) -- 的别名
endkey
帕拉姆。 - endkey_docid (string) -- 当到达指定的本地文档ID时停止返回记录。 可选的 .
- end_key_doc_id (string) -- 的别名
endkey_docid
帕拉姆。 - include_docs (boolean) -- 在报税表中包括当地文件的全部内容。默认为
false
. - inclusive_end (boolean) -- 指定指定的结束键是否应包含在结果中。默认为
true
. - key (string) -- 只返回与指定键匹配的本地文档。 可选的 .
- keys (string) -- 只返回与指定键匹配的本地文档。 可选的 .
- limit (number) -- 将返回的本地文档的数量限制为指定的数量。 可选的 .
- skip (number) -- 在开始返回结果之前跳过此数目的记录。默认为
0
. - startkey (string) -- 返回以指定键开头的记录。 可选的 .
- start_key (string) -- 的别名
startkey
帕拉姆。 - startkey_docid (string) -- 返回以指定的本地文档ID开头的记录。 可选的 .
- start_key_doc_id (string) -- 的别名
startkey_docid
帕拉姆。 - update_seq (boolean) -- 响应包括
update_seq
值,该值指示视图反映的基础数据库的序列id。默认为false
.
响应头: - Content-Type --
- application/json
- text/plain; charset=utf-8
响应JSON对象: - offset (number) -- 本地文档列表开始位置的偏移量
- rows (array) -- 视图行对象的数组。默认情况下,返回的信息只包含本地文档ID和修订。
- total_rows (number) -- 数据库中的本地文档数。请注意,这不是实际查询中返回的行数。
- update_seq (number) -- 数据库的当前更新序列
状态代码: - 200 OK -- 请求已成功完成
请求 :
GET /db/_local_docs HTTP/1.1 Accept: application/json Host: localhost:5984
响应 :
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Type: application/json Date: Sat, 23 Dec 2017 16:22:56 GMT Server: CouchDB (Erlang/OTP) Transfer-Encoding: chunked { "offset": null, "rows": [ { "id": "_local/localdoc01", "key": "_local/localdoc01", "value": { "rev": "0-1" } }, { "id": "_local/localdoc02", "key": "_local/localdoc02", "value": { "rev": "0-1" } }, { "id": "_local/localdoc03", "key": "_local/localdoc03", "value": { "rev": "0-1" } }, { "id": "_local/localdoc04", "key": "_local/localdoc04", "value": { "rev": "0-1" } }, { "id": "_local/localdoc05", "key": "_local/localdoc05", "value": { "rev": "0-1" } } ], "total_rows": null }
-
POST
/{db}/_local_docs
¶ POST _local_docs 功能支持中指定的相同参数和行为 :get:`/{{db}}/_local_docs` 但允许将查询字符串参数作为 POST 请求。
请求 :
POST /db/_local_docs HTTP/1.1 Accept: application/json Content-Length: 70 Content-Type: application/json Host: localhost:5984 { "keys" : [ "_local/localdoc02", "_local/localdoc05" ] }
返回的JSON是all documents结构,但输出中只有选定的键:
{ "total_rows" : null, "rows" : [ { "value" : { "rev" : "0-1" }, "id" : "_local/localdoc02", "key" : "_local/localdoc02" }, { "value" : { "rev" : "0-1" }, "id" : "_local/localdoc05", "key" : "_local/localdoc05" } ], "offset" : null }
1.7.2. /db/_local/id
¶
-
GET
/{db}/_local/{docid}
¶ 获取指定的本地文档。语义与访问指定数据库中的标准文档相同,只是文档不被复制。看到了吗 :get:`/{{db}}/{{docid}}` .
-
PUT
/{db}/_local/{docid}
¶ 存储指定的本地文档。语义与在指定数据库中存储标准文档相同,只是文档不被复制。看到了吗 :put:`/{{db}}/{{docid}}` .
-
DELETE
/{db}/_local/{docid}
¶ 删除指定的本地文档。语义与删除指定数据库中的标准文档相同,只是不复制该文档。看到了吗 :delete:`/{{db}}/{{docid}}` .
-
COPY
/{db}/_local/{docid}
¶ 复制指定的本地文档。语义与在指定数据库中复制标准文档相同,只是不复制文档。看到了吗 :copy:`/{{db}}/{{docid}}` .