Проблема доступа к полному набору с клиентского сервера Couchbase Server 2.0

#.net #views #couchbase

#.net #Вид #couchbase

Вопрос:

Когда я захожу в консоль couchbase, по умолчанию отображается частичное подмножество, и вы можете отобразить полный набор, щелкнув по нему, это происходит через ссылку. (Представление разработчика) Странная вещь заключается в том, что после публикации представления (рабочего представления) и проверки ссылки там я получаю все объекты, но когда я пытаюсь получить их от клиента через client.getView («данные», «просмотр»), я получаю только частичное подмножество вместовсе объекты.

Я использую CouchbaseClient в .NET, MVC3.

Ответ №1:

Клиент Couchbase .NET позволяет настроить, используете ли вы представления разработки или производства, с помощью конфигурации клиента. В конце концов, все, что действительно нужно, это добавить «dev_» к имени представления, но это часть конфигурации, а не часть кода, позволяющая выполнять настройку во время выполнения без внесения изменений.

Лучшим подходом было бы использовать фактическое имя документа дизайна, которое вы используете в веб-интерфейсе. Как вы, возможно, знаете, у вас может быть как разработка, так и производственная версия проектного документа одновременно. Они могут отличаться, но редактировать представления можно только в документе разработки.

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

 <couchbase>
    <documentNameTransformer type="Couchbase.Configuration.DevelopmentModeNameTransformer, Couchbase" />
    ...
</couchbase>
  

В Couchbase wiki есть несколько других ссылок на это.

Если вы не видите ожидаемого полного ответа и уверены, что он использует документ / представление производственного проекта, тогда может возникнуть другая проблема. Имейте в виду, что между вставкой / обновлением документа и его доступностью в представлении проходит небольшое время.

Комментарии:

1. Я думал об этом, поскольку он отлично работал в консоли, но я не смог найти способ установить его там. Я не могу дождаться, чтобы увидеть ваш пример.

2. Спасибо за ответ, но у меня уже установлено значение DevelopmentModeNameTransformer в моем конфигурационном файле. Странно, что я вставляю объекты и получаю полный набор, но как только я просматриваю что-то около 350 объектов, я продолжаю получать частичный набор результатов.

3. Это странно. У вас есть простой генератор или что-то, что может позволить мне попытаться воспроизвести проблему? Я скоро попробую это сам — я регулярно показываю демонстрацию с более чем 18 Тыс. элементов, но не использую этот клиент. (p.s.: извините за задержку!)

Ответ №2:

Я обнаружил проблему, все, что мне нужно было сделать, это удалить следующую строку из моего конфигурационного файла:

documentNameTransformer type="Couchbase.Configuration.DevelopmentModeNameTransformer, Couchbase"