2. JSON Structure Reference
The following appendix provides a quick reference to all the JSON structures that you can supply to CouchDB, or get in return to requests.
2.1. All Database Documents
Field | Description |
---|
total_rows | Number of documents in the database/view |
offset | Offset where the document list started |
update_seq (optional) | Current update sequence for the database |
rows [array] | Array of document object |
2.2. Bulk Document Response
Field | Description |
---|
docs [array] | Bulk Docs Returned Documents |
id | Document ID |
error | Error type |
reason | Error string with extended reason |
2.3. Bulk Documents
Field | Description |
---|
docs [array] | Bulk Documents Document |
_id (optional) | Document ID |
_rev (optional) | Revision ID (when updating an existing document) |
_deleted (optional) | Whether the document should be deleted |
Field | Description |
---|
last_seq | Last update sequence |
pending | Count of remaining items in the feed |
results [array] | Changes made to a database |
seq | Update sequence |
id | Document ID |
changes [array] | List of changes, field-by-field, for this document |
2.5. CouchDB Document
Field | Description |
---|
_id (optional) | Document ID |
_rev (optional) | Revision ID (when updating an existing document) |
2.6. CouchDB Error Status
Field | Description |
---|
id | Document ID |
error | Error type |
reason | Error string with extended reason |
Field | Description |
---|
db_name | The name of the database. |
committed_update_seq | The number of committed updates. |
doc_count | The number of documents in the database. |
doc_del_count | The number of deleted documents. |
compact_running | Set to true if the database compaction routine is operating on this database. |
disk_format_version | The version of the physical format used for the data when it is stored on hard disk. |
disk_size | Size in bytes of the data as stored on disk. View indexes are not included in the calculation. |
instance_start_time | Timestamp indicating when the database was opened, expressed in microseconds since the epoch. |
purge_seq | The number of purge operations on the database. |
update_seq | Current update sequence for the database. |
2.8. Design Document
Field | Description |
---|
_id | Design Document ID |
_rev | Design Document Revision |
views | View |
viewname | View Definition |
map | Map Function for View |
reduce (optional) | Reduce Function for View |
Field | Description |
---|
name | Name/ID of Design Document |
view_index | View Index |
compact_running | Indicates whether a compaction routine is currently running on the view |
disk_size | Size in bytes of the view as stored on disk |
language | Language for the defined views |
purge_seq | The purge sequence that has been processed |
signature | MD5 signature of the views for the design document |
update_seq | The update sequence of the corresponding database that has been indexed |
updater_running | Indicates if the view is currently being updated |
waiting_clients | Number of clients waiting on views from this design document |
waiting_commit | Indicates if there are outstanding commits to the underlying database that need to processed |
2.10. Document with Attachments
Field | Description |
---|
_id (optional) | Document ID |
_rev (optional) | Revision ID (when updating an existing document) |
_attachments (optional) | Document Attachment |
filename | Attachment information |
content_type | MIME Content type string |
data | File attachment content, Base64 encoded |
2.11. List of Active Tasks
Field | Description |
---|
tasks [array] | Active Tasks |
pid | Process ID |
status | Task status message |
task | Task name |
type | Operation Type |
2.12. Replication Settings
Field | Description |
---|
source | Source database name or URL. |
target | Target database name or URL. |
cancel (optional) | Cancels the replication. |
checkpoint_interval (optional) | Specifies the checkpoint interval in ms. |
continuous (optional) | Configure the replication to be continuous. |
create_target (optional) | Creates the target database. |
doc_ids (optional) | Array of document IDs to be synchronized. |
filter (optional) | name of the filter function in the form of ddoc/myfilter . |
source_proxy (optional) | Address of a proxy server through which replication from the source should occur. |
target_proxy (optional) | Address of a proxy server through which replication to the target should occur. |
query_params (optional) | Query parameter that are passed to the filter function; the value should be a document containing parameters as members. |
selector (optional) | Select the documents included in the replication. This option provides performance benefits compared with using the filter option. |
since_seq (optional) | Sequence from which the replication should start. |
use_checkpoints (optional) | Whether to use replication checkpoints or not. |
2.13. Replication Status
Field | Description |
---|
ok | Replication status |
session_id | Unique session ID |
source_last_seq | Last sequence number read from the source database |
history [array] | Replication History |
session_id | Session ID for this replication operation |
recorded_seq | Last recorded sequence number |
docs_read | Number of documents read |
docs_written | Number of documents written to target |
doc_write_failures | Number of document write failures |
start_time | Date/Time replication operation started |
start_last_seq | First sequence number in changes stream |
end_time | Date/Time replication operation completed |
end_last_seq | Last sequence number in changes stream |
missing_checked | Number of missing documents checked |
missing_found | Number of missing documents found |
2.14. Request object
Field | Description |
---|
body | Request body data as string. If the request method is GET this field contains the value “undefined” . If the method is DELETE or HEAD the value is “” (empty string). |
cookie | Cookies object. |
form | Form data object. Contains the decoded body as key-value pairs if the Content-Type header was application/x-www-form-urlencoded . |
headers | Request headers object. |
id | Requested document id string if it was specified or null otherwise. |
info | Database information |
method | Request method as string or array. String value is a method as one of: HEAD, GET, POST, PUT, DELETE, OPTIONS, and TRACE. Otherwise it will be represented as an array of char codes. |
path | List of requested path sections. |
peer | Request source IP address. |
query | URL query parameters object. Note that multiple keys are not supported and the last key value suppresses others. |
requested_path | List of actual requested path section. |
raw_path | Raw requested path string. |
secObj | Security Object. |
userCtx | User Context Object. |
uuid | Generated UUID by a specified algorithm in the config file. |
{
"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 object
Field | Description |
---|
body | Request body data as string. If the request method is GET this field contains the value “undefined” . If the method is DELETE or HEAD the value is “” (empty string). |
cookie | Cookies object. |
headers | Request headers object. |
method | Request method as string or array. String value is a method as one of: HEAD, GET, POST, PUT, DELETE, OPTIONS, and TRACE. Otherwise it will be represented as an array of char codes. |
path | List of requested path sections. |
peer | Request source IP address. |
query | URL query parameters object. Note that multiple keys are not supported and the last key value suppresses others. |
requested_path | List of actual requested path section. |
raw_path | Raw requested path string. |
secObj | Security Object. |
userCtx | User Context Object. |
2.16. Response object
Field | Description |
---|
code | HTTP status code number. |
json | JSON encodable object. Implicitly sets Content-Type header as application/json . |
body | Raw response text string. Implicitly sets Content-Type header as text/html; charset=utf-8 . |
base64 | Base64 encoded string. Implicitly sets Content-Type header as application/binary . |
headers | Response headers object. Content-Type header from this object overrides any implicitly assigned one. |
stop | boolean signal to stop iteration over view result rows (for list functions only) |
2.17. Returned CouchDB Document with Detailed Revision Info
Field | Description |
---|
_id (optional) | Document ID |
_rev (optional) | Revision ID (when updating an existing document) |
_revs_info [array] | CouchDB document extended revision info |
rev | Full revision string |
status | Status of the revision |
2.18. Returned CouchDB Document with Revision Info
Field | Description |
---|
_id (optional) | Document ID |
_rev (optional) | Revision ID (when updating an existing document) |
_revisions | CouchDB document revisions |
ids [array] | Array of valid revision IDs, in reverse order (latest first) |
start | Prefix number for the latest revision |
2.19. Returned Document with Attachments
Field | Description |
---|
_id (optional) | Document ID |
_rev (optional) | Revision ID (when updating an existing document) |
_attachments (optional) | Document attachment |
filename | Attachment |
stub | Indicates whether the attachment is a stub |
content_type | MIME Content type string |
length | Length (bytes) of the attachment data |
revpos | Revision where this attachment exists |
2.20. Security Object
Field | Description |
---|
admins | Roles/Users with admin privileges |
roles [array] | List of roles with parent privilege |
names [array] | List of users with parent privilege |
members | Roles/Users with non-admin privileges |
roles [array] | List of roles with parent privilege |
names [array] | List of users with parent privilege |
{
"admins": {
"names": [
"Bob"
],
"roles": []
},
"members": {
"names": [
"Mike",
"Alice"
],
"roles": []
}
}
2.21. User Context Object
Field | Description |
---|
db | Database name in the context of the provided operation. |
name | User name. |
roles | List of user roles. |
{
"db": "mailbox",
"name": null,
"roles": [
"_admin"
]
}
Field | Description |
---|
total_rows | Number of documents in the view |
offset | Offset where the document list started |
{
"total_rows": 42,
"offset": 3
}