从客户端Couchbase Server 2.0问题访问完整集视图

时间:2011-09-28 07:02:17

标签: .net views couchbase

当我进入couchbase控制台时,它默认显示部分子集, 你可以点击它来显示全部,这通过一个链接发生。 (开发者视图) 奇怪的是发布视图(生产视图),并检查链接后,我确实获得了所有对象,但当我尝试通过client.getView(“data”,“view”)从客户端获取它们时我只得到部分子集而不是所有对象。

我正在使用.NET中的CouchbaseClient,MVC3。

2 个答案:

答案 0 :(得分:1)

Couchbase .NET客户端允许您配置是通过客户端配置使用开发视图还是生产视图。最后,所有真正做的是将“dev_”添加到视图名称中,但它是配置的一部分,而不是允许运行时配置而无需重新编译的代码的一部分。

最好的方法是使用您在Web UI中使用的实际设计文档名称。您可能知道,您可以同时拥有设计文档的开发版本和生产版本。两者可以不同,但​​您只能编辑开发设计文档中的视图。

假设您拥有包含代码中视图的设计文档的常规名称,您可以将其添加到App / Web.config中的开发模式设计文档中,如下所示:

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

Couchbase wiki上还有其他一些参考资料。

如果您没有看到预期的完整响应,并且您确定它正在使用生产设计文档/视图,那么可能还有另一个问题。请记住,插入/更新文档与在视图中可用文档之间存在一些滞后时间。

答案 1 :(得分:0)

我发现了问题,我所要做的就是从配置文件中删除以下行:

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