【问题标题】:Access Full Set View from client Couchbase Server 2.0 issue从客户端 Couchbase Server 2.0 问题访问完整集视图
【发布时间】:2011-09-28 07:02:16
【问题描述】:

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

我在 .NET,MVC3 中使用 CouchbaseClient。

【问题讨论】:

    标签: .net views couchbase


    【解决方案1】:

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

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

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

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

    Couchbase wiki 上还有其他一些关于此的参考。

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

    【讨论】:

    • 我也在想,因为它在控制台中运行良好,但我无法找到一种方法来设置它。我迫不及待地想看看你的例子。
    • 感谢您的回复,但我已经在我的配置文件中将其设置为 DevelopmentModeNameTransformer。没有延迟 奇怪的是我插入了对象,我得到了完整的集合,但是一旦我检查了大约 350 个对象,我一直得到部分结果集。
    • 这很奇怪。你有一个简单的生成器或可以让我尝试重现问题的东西吗?我很快就会自己尝试这个——我经常展示一个包含超过 18K 项目的演示,但不使用这个客户端。 (ps:抱歉耽搁了!)
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      • 2015-09-30
      • 2023-03-28
      • 2014-05-10
      • 1970-01-01
      相关资源
      最近更新 更多