0

当我进入 couchbase 控制台时,它默认显示部分子集,您可以通过单击它来显示完整集,这通过链接发生。(开发人员视图)奇怪的是在发布视图(生产视图)并检查那里的链接后,我确实得到了所有对象,但是当我尝试从客户端通过 client.getView("data","view ") 我只得到部分子集而不是所有对象。

我在 .NET,MVC3 中使用 CouchbaseClient。

4

2 回答 2

1

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

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

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

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

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

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

于 2011-09-29T23:23:08.147 回答
0

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

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

于 2011-10-05T07:53:32.983 回答