【问题标题】:CouchbaseClient how to get list of all DesignDocuments in the bucketCouchbaseClient 如何获取存储桶中所有设计文档的列表
【发布时间】:2013-05-16 19:39:44
【问题描述】:

我正在尝试通过 CouchbaseClient 以编程方式检索给定存储桶中所有设计文档的列表。我遵循了creating-views-from-sdk 文档,但它只解释了如何创建视图。我需要一种检索所有设计文档及其视图的方法。有什么解决办法吗?

到目前为止,我只能获得一份设计文档...但名称不是来自服务器,例如

CouchbaseClient client = new CouchbaseClient(urls, bucketName, bucketPassword);

DesignDocument dc = client.getDesignDocument("MY-HARDCODED-DOC-NAME");

List<View> views = (List<View>) dc.getViews();
for (View view : views)
{
  // process view data
}

我想要完成的是编写一个实用程序来从给定的 couchbase 存储桶导入/导出视图。因为,奇怪的是,这个基本功能在 couchbase 附带的管理工具中的任何地方都找不到。

【问题讨论】:

    标签: java database caching nosql couchbase


    【解决方案1】:

    我认为您不能使用 java 客户端执行此操作,但是您可以使用 java 的 HTTP 客户端访问端点以获取此信息:

    http://localhost:8091/pools/default/buckets/mybucketname/ddocs
    

    只需将 mybucketname 替换为您想要获取 ddocs 的存储桶即可。您需要提供基本的身份验证标头才能到达此端点,因此请务必不要忘记该部分。您将返回 json,然后您可以对其进行解析以获取存储桶中 ddocs 的名称。

    【讨论】:

    • 谢谢!做到了!我能够获得完整的文档列表及其视图(使用地图功能源代码!)...在 Couchbase 实施视图导入/导出工具之前,这是一个很好的解决方法。
    • 我在 Couchbase SDK 上注册了一个增强请求:couchbase.com/issues/browse/JCBC-306(我有时间会尝试开发它...)
    猜你喜欢
    • 1970-01-01
    • 2021-12-03
    • 2015-10-25
    • 1970-01-01
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 2021-05-09
    相关资源
    最近更新 更多