Couchdb: Показать _attachments - PullRequest
       0

Couchdb: Показать _attachments

1 голос
/ 11 октября 2011

Просто почувствуйте CouchDB и попробуйте несколько недоразумений.

Я могу перечислить записи из представления с помощью (спасибо предыдущему респонденту)

http://mysite.iriscouch.com/mydb/_design/_view/myview

Я изменил свое представление, добавив _attachments, но в нем не отображаются _attachments, которые являются файлами jpeg.

map
function(doc) {
  if(doc.SignMark && doc.Details) {
    emit(doc.SignMark, doc.Details, doc._attachments);
  }
}

Я явно пропустил простую концепцию

Спасибо - mcl

Ответы [ 2 ]

3 голосов
/ 11 октября 2011

В представлении вы не можете получить доступ к самим вложениям. Вы можете только метаданные, которые хранятся в doc._attachments.

Таким образом, в зависимости от ваших требований, вам придется получить доступ к фактическому вложению со вторым запросом в формате /db/doc-id/attachment-name.jpg

.

или, если вы визуализируете в формате html, просто создайте тег изображения с помощью src = '/ db / doc-id / attachment-name.jpg'

2 голосов
/ 11 октября 2011

Emit всегда принимает два параметра: ключ и значение. Каждый может быть объектом. Так что это будет работать:

function(doc) {
  if(doc.SignMark && doc.Details) {
    emit(doc.SignMark, [doc.Details, doc._attachments]);
 }
}

Но вы можете создавать произвольные ключи и значения для выдачи, а также вы можете выдавать несколько значений или вообще не использовать значения для каждого документа.

Отличная Книга CouchDB мне очень помогла! Это соответствующая глава для просмотра: http://guide.couchdb.org/draft/views.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...