Получение документов из представления Couchbase с использованием REST API

Я начинаю с Couchbase 3.01, и у меня есть вопрос о представлениях. В документации, которую я читал, говорилось, что вы не должны включать в индекс весь документ, так как это отрицательно скажется как на хранении, так и на производительности. Теперь я создал функцию сопоставления и испускаю null для документа.

e.g.

function(doc, meta) {
  if (doc.entity && doc.entity == 'desert') {
    emit(doc.type, null);
  }
}

Это должно создать индекс для моих различных типов десертов (печенье, мороженое, торт). Когда я сохраняю представление и нажимаю кнопку «Показать результаты» в консоли администратора, я вижу все ключи со связанным значением null.

Если я изменю свою функцию отображения, чтобы включить документ, например.

function(doc, meta) {
  if (doc.entity && doc.entity == 'desert') {
    emit(doc.type, doc);
  }
}

Я получаю ожидаемые результаты, но я обеспокоен тем, что это анти-шаблон. Кажется, раньше был параметр строки запроса include_docs, который разыменовывал документ, но в документации его нет. Должен ли я включать полный документ в индексы, которые я создаю? Если нет, то как мне получить документ по ключу?


person Jason    schedule 24.11.2014    source источник


Ответы (1)


Шаблон должен иметь представление, определенное без полного включения DOC. Затем вы можете использовать клиентскую библиотеку Couchbase, специфичную для вашей платформы приложений (например, Java, Python, Node.js, .Net и т. д.), для доступа к документам из вашего представления, установив флаг include_docs (при необходимости).

REST API не следует использовать для чтения или записи данных на сервер. Операции с данными, такие как установка и получение, обрабатываются Couchbase SDK.

person user1697575    schedule 24.11.2014
comment
Я должен был быть более ясным в своем вопросе - я просто ищу способ увидеть содержимое представления через браузер, пока я занимаюсь разработкой. Я планирую использовать SDK из своего приложения. - person Jason; 24.11.2014
comment
О, для целей разработки вы можете определить представления с возвращенным документом ... это просто не рекомендуется для производства. Также на панели содержимого веб-консоли CB отображается URL-адрес, по которому вы можете щелкнуть, чтобы открыть его в новом окне — это не что иное, как вызов остальных. - person user1697575; 24.11.2014