2014-11-24 6 views
1

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

например.

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); 
    } 
} 

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

ответ

2

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

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

+0

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

+0

О, для цели вы можете определить виды с возвратом документа ... его просто не рекомендуется для производства. Кроме того, панель содержимого панели CB Web Console показывает URL-адрес, который вы можете щелкнуть, чтобы открыть его в новом окне - это не более чем вызов для отдыха. – user1697575