1

CouchbaseClient を介して、指定されたバケット内のすべての設計ドキュメントのリストをプログラムで取得しようとしています。私はcreating-views-from-sdk のドキュメントに従いましたが、ビューの作成方法のみを説明しています。すべての設計ドキュメントとそのビューを取得する方法が必要です。そこに解決策はありますか?

これまでのところ、設計ドキュメントを 1 つしか取得できませんでした...しかし、名前はサーバーからのものではありません。

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 に付属の管理ツールのどこにもありません。

4

1 に答える 1

3

Javaクライアントでこれを行うことはできないと思いますが、JavaからHTTPクライアントでヒットしてこの情報を取得できるエンドポイントがあります:

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

mybucketnameddoc を取得したいバケットに置き換えるだけです。このエンドポイントにアクセスするには、基本認証ヘッダーを提供する必要があるため、その部分を忘れないようにしてください。json が返され、それを解析してバケット内の ddoc の名前を取得できます。

于 2013-05-16T21:11:41.977 に答える