#.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"