Справочник по структуре JSON
В этом приложении приведена краткая справка по всем структурам JSON, которые можно передавать CouchDB или получать в ответ на запросы.
Все документы базы данных
Поле | Описание |
|---|---|
total_rows | Количество документов в базе данных или представлении |
offset | Смещение, с которого начинается список документов |
update_seq (optional) | Текущая последовательность обновлений базы данных |
rows [array] | Массив объектов документов |
Ответ на пакетную обработку документов
Поле | Описание |
|---|---|
docs [array] | Документы, возвращённые при пакетной обработке |
id | Идентификатор документа |
error | Тип ошибки |
reason | Строка с описанием ошибки и подробной причиной |
Пакет документов
Поле | Описание |
|---|---|
docs [array] | Документ из пакета документов |
_id (optional) | Идентификатор документа |
_rev (optional) | Идентификатор ревизии (при обновлении существующего документа) |
_deleted (optional) | Указывает, следует ли удалить документ |
Сведения об изменениях в базе данных
Поле | Описание |
|---|---|
last_seq | Последняя последовательность обновлений |
pending | Количество оставшихся элементов в потоке |
results [array] | Изменения, внесённые в базу данных |
seq | Последовательность обновлений |
id | Идентификатор документа |
changes [array] | Список изменений этого документа по отдельным полям |
Документ CouchDB
Поле | Описание |
|---|---|
_id (optional) | Идентификатор документа |
_rev (optional) | Идентификатор ревизии (при обновлении существующего документа) |
Статус ошибки CouchDB
Поле | Описание |
|---|---|
id | Идентификатор документа |
error | Тип ошибки |
reason | Строка с описанием ошибки и подробной причиной |
Объект сведений о базе данных 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 | Текущая последовательность обновлений базы данных. |
Проектный документ
Поле | Описание |
|---|---|
_id | Идентификатор проектного документа |
_rev | Ревизия проектного документа |
views | Представление |
viewname | Определение представления |
map | Функция map для представления |
reduce (optional) | Функция reduce для представления |
Сведения о проектном документе
Поле | Описание |
|---|---|
name | Имя/идентификатор проектного документа |
view_index | Индекс представления |
compact_running | Показывает, выполняется ли сейчас процедура уплотнения представления |
disk_size | Размер представления на диске в байтах |
language | Язык определённых представлений |
purge_seq | Обработанная последовательность очистки |
signature | Подпись MD5 представлений проектного документа |
update_seq | Последовательность обновлений соответствующей проиндексированной базы данных |
updater_running | Показывает, обновляется ли сейчас представление |
waiting_clients | Количество клиентов, ожидающих представления из этого проектного документа |
waiting_commit | Показывает, есть ли ожидающие фиксации изменения в базовой базе данных, которые необходимо обработать |
Документ с вложениями
Поле | Описание |
|---|---|
_id (optional) | Идентификатор документа |
_rev (optional) | Идентификатор ревизии (при обновлении существующего документа) |
_attachments (optional) | Вложение документа |
filename | Сведения о вложении |
content_type | Строка с типом содержимого MIME |
data | Содержимое файла-вложения в кодировке Base64 |
Список активных задач
Поле | Описание |
|---|---|
tasks [array] | Активные задачи |
pid | Идентификатор процесса |
status | Сообщение о состоянии задачи |
task | Имя задачи |
type | Тип операции |
Настройки репликации
Поле | Описание |
|---|---|
source | Имя или URL исходной базы данных. |
target | Имя или URL целевой базы данных. |
cancel (optional) | Отменяет репликацию. |
checkpoint_interval (optional) | Задаёт интервал контрольных точек в мс. |
continuous (optional) | Настраивает непрерывную репликацию. |
create_target (optional) | Создаёт целевую базу данных. |
doc_ids (optional) | Массив идентификаторов документов для синхронизации. |
filter (optional) | Имя функции фильтра в формате |
source_proxy (optional) | Адрес прокси-сервера, через который должна выполняться репликация из источника. |
target_proxy (optional) | Адрес прокси-сервера, через который должна выполняться репликация в целевую базу данных. |
query_params (optional) | Параметры запроса, передаваемые функции фильтра; значение должно быть документом, содержащим параметры в качестве элементов. |
selector (optional) | Выбирает документы, включаемые в репликацию. Этот параметр повышает производительность по сравнению с использованием параметра |
since_seq (optional) | Последовательность, с которой следует начать репликацию. |
use_checkpoints (optional) | Использовать ли контрольные точки репликации. |
winning_revs_only (optional) | Реплицировать только победившие ревизии. |
use_bulk_get (optional) | Попытаться использовать |
Состояние репликации
Поле | Описание |
|---|---|
ok | Состояние репликации |
session_id | Уникальный идентификатор сеанса |
source_last_seq | Последний номер последовательности, прочитанный из исходной базы данных |
history [array] | История репликации |
session_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 |
Объект запроса
Поле | Описание |
|---|---|
body | Данные тела запроса в виде строки. Если метод запроса — GET, это поле содержит значение |
cookie | Объект с файлами cookie. |
form | Объект с данными формы. Содержит декодированное тело в виде пар «ключ-значение», если заголовок Content-Type имеет значение |
headers | Объект с заголовками запроса. |
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"
} Объект 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 |
Объект ответа
Поле | Описание |
|---|---|
code | Числовой код состояния HTTP. |
json | Объект, который можно закодировать в JSON. Заголовок Content-Type автоматически устанавливается в значение |
body | Необработанный текст ответа в виде строки. Заголовок Content-Type автоматически устанавливается в значение |
base64 | Строка в кодировке Base64. Заголовок Content-Type автоматически устанавливается в значение |
headers | Объект с заголовками ответа. Заголовок Content-Type из этого объекта переопределяет любое значение, заданное автоматически. |
stop | Сигнал типа boolean для остановки перебора строк результата представления (только для функций списков) |
Предупреждение
Ключи объекта body, base64 и json перекрывают друг друга, и при конфликте используется последний. Поскольку большинство реализаций объектов «ключ-значение» не сохраняют порядок ключей, а при их смешении могут возникнуть неоднозначные ситуации, старайтесь использовать только один из этих ключей.
Примечание
Любое пользовательское свойство вызывает внутреннее исключение CouchDB. Кроме того, объект ответа может быть простым строковым значением, которое автоматически оборачивается в объект {"body": ...}.
Возвращённый документ CouchDB с подробными сведениями о ревизиях
Поле | Описание |
|---|---|
_id (optional) | Идентификатор документа |
_rev (optional) | Идентификатор ревизии (при обновлении существующего документа) |
_revs_info [array] | Расширенные сведения о ревизиях документа CouchDB |
rev | Полная строка ревизии |
status | Состояние ревизии |
Возвращённый документ CouchDB со сведениями о ревизиях
Поле | Описание |
|---|---|
_id (optional) | Идентификатор документа |
_rev (optional) | Идентификатор ревизии (при обновлении существующего документа) |
_revisions | Ревизии документа CouchDB |
ids [array] | Массив допустимых идентификаторов ревизий в обратном порядке (сначала последние) |
start | Номер префикса последней ревизии |
Возвращённый документ с вложениями
Поле | Описание |
|---|---|
_id (optional) | Идентификатор документа |
_rev (optional) | Идентификатор ревизии (при обновлении существующего документа) |
_attachments (optional) | Вложение документа |
filename | Вложение |
stub | Указывает, является ли вложение заглушкой |
content_type | Строка с типом содержимого MIME |
length | Длина данных вложения в байтах |
revpos | Ревизия, в которой присутствует это вложение |
Объект безопасности
Поле | Описание |
|---|---|
admins | Роли и пользователи с правами администратора |
roles [array] | Список ролей с соответствующими привилегиями |
names [array] | Список пользователей с соответствующими привилегиями |
members | Роли и пользователи без прав администратора |
roles [array] | Список ролей с соответствующими привилегиями |
names [array] | Список пользователей с соответствующими привилегиями |
{
"admins": {
"names": [
"Bob"
],
"roles": []
},
"members": {
"names": [
"Mike",
"Alice"
],
"roles": []
}
} Объект контекста пользователя
Поле | Описание |
|---|---|
db | Имя базы данных в контексте выполняемой операции. |
name | Имя пользователя. |
roles | Список ролей пользователя. |
{
"db": "mailbox",
"name": null,
"roles": [
"_admin"
]
} Сведения о заголовке представления
Поле | Описание |
|---|---|
total_rows | Количество документов в представлении |
offset | Смещение, с которого начинается список документов |
{
"total_rows": 42,
"offset": 3
}
Copyright © 2025 The Apache Software Foundation — Licensed under the Apache License 2.0
https://docs.couchdb.org/en/3.5.1/json-structure.html