2010-05-14 2 views
16

Как я могу просто проверить, существует ли документ, mabye получить версию, но не сделать couchdb отправить тело документа?Как проверить, существует ли документ couchdb (без его получения)?

Помню, я видел, как это объяснялось где-то, но я не могу его найти.

Редактировать: Iirc в примере вы получили только HTTP-заголовок без данных. Заголовок отображается, если присутствует, или нет.

Редактировать2: Эван предлагает сделать запрос HEAD (вместо GET). Это отвечает на мой вопрос.

CouchDB отправляет заголовок ETag для запросов к документам. Заголовок ETag - это просто пересмотр документа в кавычках.

Цитируется: http://wiki.apache.org/couchdb/HTTP_Document_API#ETags.2BAC8-Caching

ответ

19

Вместо выполнения запроса HTTP GET, сделать запрос HTTP HEAD. Это приведет только к возврату заголовков и никакого содержимого. Возвращенный статус скажет вам, существует ли объект.

+0

Спасибо, я попробую это скоро :) - karlthorwald - aka – user89021

+2

Есть ли способ сделать это с помощью API-интерфейса cradle? – streetlight

+0

Да, вы можете сделать это с пеленок, как так: db.head (идентификатор, функции (эээ, opt1, opt2) {! \t \t \t если (opt2 = существует '404') пункт сделать что-то \t \t}) – haknick

Смежные вопросы