2. JSON 结构参考¶
以下附录提供了对您可以提供给 CouchDB 的所有 JSON 结构的快速参考,或者作为对请求的返回。
2.1. 所有数据库文档¶
字段 |
描述 |
---|---|
total_rows |
数据库/视图中的文档数量 |
offset |
文档列表开始的偏移量 |
update_seq (可选) |
数据库的当前更新序列 |
rows [数组] |
文档对象的数组 |
2.2. 批量文档响应¶
字段 |
描述 |
---|---|
docs [数组] |
批量文档返回的文档 |
id |
文档 ID |
error |
错误类型 |
reason |
带有扩展原因的错误字符串 |
2.3. 批量文档¶
字段 |
描述 |
---|---|
docs [数组] |
批量文档文档 |
_id (可选) |
文档 ID |
_rev (可选) |
修订 ID (更新现有文档时) |
_deleted (可选) |
是否应删除文档 |
2.4. 数据库的更改信息¶
字段 |
描述 |
---|---|
last_seq |
最后更新序列 |
pending |
提要中剩余项目的数量 |
results [数组] |
对数据库进行的更改 |
seq |
更新序列 |
id |
文档 ID |
changes [数组] |
此文档的逐字段更改列表 |
2.5. CouchDB 文档¶
字段 |
描述 |
---|---|
_id (可选) |
文档 ID |
_rev (可选) |
修订 ID (更新现有文档时) |
2.6. CouchDB 错误状态¶
字段 |
描述 |
---|---|
id |
文档 ID |
error |
错误类型 |
reason |
带有扩展原因的错误字符串 |
2.7. CouchDB 数据库信息对象¶
字段 |
描述 |
---|---|
db_name |
数据库的名称。 |
committed_update_seq |
已提交更新的数量。 |
doc_count |
数据库中的文档数量。 |
doc_del_count |
已删除文档的数量。 |
compact_running |
如果数据库压缩例程正在对该数据库进行操作,则设置为 true。 |
disk_format_version |
数据存储在硬盘上的物理格式的版本。 |
disk_size |
存储在磁盘上的数据的字节大小。视图索引不包含在计算中。 |
instance_start_time |
指示数据库打开时间的日期戳,以自纪元以来的微秒表示。 |
purge_seq |
数据库上的清除操作数量。 |
update_seq |
数据库的当前更新序列。 |
2.8. 设计文档¶
字段 |
描述 |
---|---|
_id |
设计文档 ID |
_rev |
设计文档修订 |
views |
视图 |
viewname |
视图定义 |
map |
视图的映射函数 |
reduce (可选) |
视图的归约函数 |
2.9. 设计文档信息¶
字段 |
描述 |
---|---|
name |
设计文档的名称/ID |
view_index |
视图索引 |
compact_running |
指示视图上是否当前正在运行压缩例程 |
disk_size |
存储在磁盘上的视图的字节大小 |
language |
定义视图的语言 |
purge_seq |
已处理的清除序列 |
signature |
设计文档视图的 MD5 签名 |
update_seq |
已编入索引的相应数据库的更新序列 |
updater_running |
指示视图是否当前正在更新 |
waiting_clients |
等待来自此设计文档的视图的客户端数量 |
waiting_commit |
指示基础数据库中是否有待处理的提交需要处理 |
2.10. 带有附件的文档¶
字段 |
描述 |
---|---|
_id (可选) |
文档 ID |
_rev (可选) |
修订 ID (更新现有文档时) |
_attachments (可选) |
文档附件 |
filename |
附件信息 |
content_type |
MIME 内容类型字符串 |
data |
文件附件内容,Base64 编码 |
2.11. 活动任务列表¶
字段 |
描述 |
---|---|
tasks [数组] |
活动任务 |
pid |
进程 ID |
status |
任务状态消息 |
task |
任务名称 |
type |
操作类型 |
2.12. 复制设置¶
字段 |
描述 |
---|---|
source |
源数据库名称或 URL。 |
target |
目标数据库名称或 URL。 |
cancel (可选) |
取消复制。 |
checkpoint_interval (可选) |
指定检查点间隔(以毫秒为单位)。 |
continuous (可选) |
将复制配置为连续进行。 |
create_target (可选) |
创建目标数据库。 |
doc_ids (可选) |
要同步的文档 ID 数组。 |
filter (可选) |
过滤器函数的名称,格式为 |
source_proxy (可选) |
源复制应通过其进行的代理服务器的地址。 |
target_proxy (可选) |
目标复制应通过其进行的代理服务器的地址。 |
query_params (可选) |
传递给过滤器函数的查询参数;该值应是一个包含参数作为成员的文档。 |
selector (可选) |
选择包含在复制中的文档。与使用 |
since_seq (可选) |
复制应从其开始的序列。 |
use_checkpoints (可选) |
是否使用复制检查点。 |
winning_revs_only (可选) |
仅复制获胜的修订。 |
use_bulk_get (可选) |
尝试使用 |
2.13. 复制状态¶
字段 |
描述 |
---|---|
ok |
复制状态 |
session_id |
唯一的会话 ID |
source_last_seq |
从源数据库读取的最后一个序列号 |
history [数组] |
复制历史记录 |
session_id |
此复制操作的会话 ID |
recorded_seq |
最后记录的序列号 |
docs_read |
读取的文档数量 |
docs_written |
写入目标的文档数量 |
doc_write_failures |
文档写入失败的数量 |
start_time |
复制操作开始的日期/时间 |
start_last_seq |
更改流中的第一个序列号 |
end_time |
复制操作完成的日期/时间 |
end_last_seq |
更改流中的最后一个序列号 |
missing_checked |
检查的丢失文档数量 |
missing_found |
找到的丢失文档数量 |
bulk_get_attempts |
尝试的 _bulk_get 获取次数 |
bulk_get_docs |
使用 _bulk_get 读取的文档数量 |
2.14. 请求对象¶
字段 |
描述 |
---|---|
body |
请求主体数据作为 字符串。如果请求方法是 GET,则此字段包含值 |
cookie |
Cookie 对象。 |
form |
表单数据 对象。如果 Content-Type 标头为 |
headers |
请求标头 对象。 |
id |
如果指定了请求的文档 ID,则为 字符串,否则为 |
info |
|
method |
请求方法作为 字符串 或 数组。字符串值为方法,如以下之一:HEAD、GET、POST、PUT、DELETE、OPTIONS 和 TRACE。否则,它将表示为字符代码数组。 |
path |
请求的路径部分列表。 |
peer |
请求源 IP 地址。 |
query |
URL 查询参数 对象。请注意,不支持多个键,最后一个键值会覆盖其他键值。 |
requested_path |
实际请求的路径部分列表。 |
raw_path |
原始请求路径 字符串。 |
secObj |
安全对象. |
userCtx |
|
uuid |
由配置文件中指定的算法生成的 UUID。 |
{
"body": "undefined",
"cookie": {
"AuthSession": "cm9vdDo1MDZBRjQzRjrfcuikzPRfAn-EA37FmjyfM8G8Lw",
"m": "3234"
},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.3",
"Accept-Encoding": "gzip,deflate,sdch",
"Accept-Language": "en-US,en;q=0.8",
"Connection": "keep-alive",
"Cookie": "m=3234:t|3247:t|6493:t|6967:t|34e2:|18c3:t|2c69:t|5acb:t|ca3:t|c01:t|5e55:t|77cb:t|2a03:t|1d98:t|47ba:t|64b8:t|4a01:t; AuthSession=cm9vdDo1MDZBRjQzRjrfcuikzPRfAn-EA37FmjyfM8G8Lw",
"Host": "127.0.0.1:5984",
"User-Agent": "Mozilla/5.0 (Windows NT 5.2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7"
},
"id": "foo",
"info": {
"committed_update_seq": 2701412,
"compact_running": false,
"db_name": "mailbox",
"disk_format_version": 6,
"doc_count": 2262757,
"doc_del_count": 560,
"instance_start_time": "1347601025628957",
"purge_seq": 0,
"sizes": {
"active": 7580843252,
"disk": 14325313673,
"external": 7803423459
},
"update_seq": 2701412
},
"method": "GET",
"path": [
"mailbox",
"_design",
"request",
"_show",
"dump",
"foo"
],
"peer": "127.0.0.1",
"query": {},
"raw_path": "/mailbox/_design/request/_show/dump/foo",
"requested_path": [
"mailbox",
"_design",
"request",
"_show",
"dump",
"foo"
],
"secObj": {
"admins": {
"names": [
"Bob"
],
"roles": []
},
"members": {
"names": [
"Mike",
"Alice"
],
"roles": []
}
},
"userCtx": {
"db": "mailbox",
"name": "Mike",
"roles": [
"user"
]
},
"uuid": "3184f9d1ea934e1f81a24c71bde5c168"
}
2.15. Request2 对象¶
字段 |
描述 |
---|---|
body |
请求主体数据作为 字符串。如果请求方法是 GET,则此字段包含值 |
cookie |
Cookie 对象。 |
headers |
请求标头 对象。 |
method |
请求方法作为 字符串 或 数组。字符串值为方法,如以下之一:HEAD、GET、POST、PUT、DELETE、OPTIONS 和 TRACE。否则,它将表示为字符代码数组。 |
path |
请求的路径部分列表。 |
peer |
请求源 IP 地址。 |
query |
URL 查询参数 对象。请注意,不支持多个键,最后一个键值会覆盖其他键值。 |
requested_path |
实际请求的路径部分列表。 |
raw_path |
原始请求路径 字符串。 |
secObj |
安全对象. |
userCtx |
2.16. 响应对象¶
字段 |
描述 |
---|---|
code |
HTTP 状态代码 数字。 |
json |
JSON 可编码 对象。隐式地将 Content-Type 标头设置为 |
body |
原始响应文本 字符串。隐式地将 Content-Type 标头设置为 |
base64 |
Base64 编码的 字符串。隐式地将 Content-Type 标头设置为 |
headers |
响应头 对象。来自此对象的 Content-Type 头会覆盖任何隐式分配的头。 |
停止 |
布尔值 信号,用于停止遍历视图结果行(仅适用于列表函数) |
警告
对象键 body
、base64
和 json
彼此重叠,最后一个键优先。由于大多数键值对象实现不保留键顺序,或者如果它们混合使用,可能会出现混乱的情况。尝试只使用其中一个。
注意
任何自定义属性都会导致 CouchDB 抛出内部异常。此外,响应对象 可以是一个简单的字符串值,它将被隐式包装到 {"body": ...}
对象中。
2.17. 返回的带有详细修订信息的 CouchDB 文档¶
字段 |
描述 |
---|---|
_id (可选) |
文档 ID |
_rev (可选) |
修订 ID (更新现有文档时) |
_revs_info [数组] |
CouchDB 文档扩展修订信息 |
rev |
完整的修订字符串 |
status |
修订的状态 |
2.18. 返回的带有修订信息的 CouchDB 文档¶
字段 |
描述 |
---|---|
_id (可选) |
文档 ID |
_rev (可选) |
修订 ID (更新现有文档时) |
_revisions |
CouchDB 文档修订 |
ids [数组] |
有效修订 ID 数组,按逆序排列(最新修订在最前面) |
start |
最新修订的前缀数字 |
2.19. 返回的带有附件的文档¶
字段 |
描述 |
---|---|
_id (可选) |
文档 ID |
_rev (可选) |
修订 ID (更新现有文档时) |
_attachments (可选) |
文档附件 |
filename |
附件 |
stub |
指示附件是否为存根 |
content_type |
MIME 内容类型字符串 |
length |
附件数据的长度(字节) |
revpos |
此附件存在的修订版本 |
2.20. 安全对象¶
字段 |
描述 |
---|---|
admins |
具有管理员权限的角色/用户 |
roles [数组] |
具有父级权限的角色列表 |
names [数组] |
具有父级权限的用户列表 |
members |
具有非管理员权限的角色/用户 |
roles [数组] |
具有父级权限的角色列表 |
names [数组] |
具有父级权限的用户列表 |
{
"admins": {
"names": [
"Bob"
],
"roles": []
},
"members": {
"names": [
"Mike",
"Alice"
],
"roles": []
}
}
2.21. 用户上下文对象¶
字段 |
描述 |
---|---|
db |
在提供的操作上下文中,数据库名称。 |
name |
用户名。 |
roles |
用户角色列表。 |
{
"db": "mailbox",
"name": null,
"roles": [
"_admin"
]
}
2.22. 视图头信息¶
字段 |
描述 |
---|---|
total_rows |
视图中的文档数量 |
offset |
文档列表开始的偏移量 |
{
"total_rows": 42,
"offset": 3
}