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

ste*_*s.p 7 java-api couchbase

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

sca*_*ved 11

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

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

function (doc, meta) {
  if(meta.type == "json") {
     emit(null);
  }
}
Run Code Online (Sandbox Code Playgroud)

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

然后,您可以使用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());
}
Run Code Online (Sandbox Code Playgroud)