如何从列表中提取couchbase中存储桶中的所有键

时间:2014-01-10 15:06:18

标签: couchbase java-api

我在沙发基地是全新的。我正在使用java api,我想以某种方式查看存储桶中的所有可用密钥。这可能吗? 提前谢谢。

1 个答案:

答案 0 :(得分:11)

这是可能的,但您需要创建一个视图来执行此操作(二级索引)。

您可以在couchbase webconsole中创建一个视图,如下所示:

function (doc, meta) {
  if(meta.type == "json") {
     emit(null);
  }
}

这将发出所有键(无论如何都会自动发出键,因此不需要包含任何额外的键)。

然后你可以使用java sdk查询下面的视图。 (显然你需要实例化couchbase客户端等)

View view = couchbaseClient.getView("DESIGN_VIEW NAME", "VIEW_NAME");
Query query = new Query();
ViewResponse viewResponse = couchbaseClient.query(view, query);

List<String> keys = new ArrayList<String>();
for (ViewRow viewRow : viewResponse) {
   keys.add(viewRow.getKey());
}