CouchbaseClient如何获取存储桶中所有DesignDocuments的列表

时间:2013-05-16 19:39:45

标签: java database caching nosql couchbase

我正在尝试通过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附带的管理工具中找不到。

1 个答案:

答案 0 :(得分:3)

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

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

只需将mybucketname替换为您想要获取ddocs的存储桶。您将需要提供基本的auth标头来命中此端点,因此请务必不要忘记该部分。您将返回json,然后您可以解析以获取存储桶中ddoc的名称。