Couchbase:使用 Java SDK 3 列出集群中可用的桶、范围和集合
Couchbase : List available Buckets, scopes and collection available in a Cluster with Java SDK 3
正在处理 Java 应用程序我想列出所有可用的存储桶/范围和集合供用户选择。这是使用 Couchbase Java SDK 3.0
编写的
我没有在网上找到任何资源。
非常感谢,
Cluster 有一个 buckets()
方法 returns BucketManager。您可以使用此管理器获取存储桶名称到存储桶信息的映射。如果您只需要名称,请从此地图的键集中获取它们。
要访问 scope/collection 信息,首先从集群中获取一个 Bucket。您可以调用存储桶的 collections()
方法来获取存储桶的 CollectionManager。从那里您可以获得所有范围,并查询每个范围以找出它包含哪些集合。
Cluster cluster = Cluster.connect("localhost", "Administrator", "password");
cluster.waitUntilReady(Duration.ofSeconds(10));
BucketManager bucketManager = cluster.buckets();
Set<String> bucketNames = bucketManager.getAllBuckets().keySet();
for (String bucketName : bucketNames) {
Bucket bucket = cluster.bucket(bucketName);
System.out.println("Bucket: " + bucketName);
CollectionManager collectionManager = bucket.collections();
for (ScopeSpec scope : collectionManager.getAllScopes()) {
System.out.println(" Scope: " + scope.name());
for (CollectionSpec collection : scope.collections()) {
System.out.println(" Collection: " + collection.name());
}
}
}
如果服务器不支持集合,此代码将抛出 FeatureNotAvailableException
。
正在处理 Java 应用程序我想列出所有可用的存储桶/范围和集合供用户选择。这是使用 Couchbase Java SDK 3.0
编写的我没有在网上找到任何资源。
非常感谢,
Cluster 有一个 buckets()
方法 returns BucketManager。您可以使用此管理器获取存储桶名称到存储桶信息的映射。如果您只需要名称,请从此地图的键集中获取它们。
要访问 scope/collection 信息,首先从集群中获取一个 Bucket。您可以调用存储桶的 collections()
方法来获取存储桶的 CollectionManager。从那里您可以获得所有范围,并查询每个范围以找出它包含哪些集合。
Cluster cluster = Cluster.connect("localhost", "Administrator", "password");
cluster.waitUntilReady(Duration.ofSeconds(10));
BucketManager bucketManager = cluster.buckets();
Set<String> bucketNames = bucketManager.getAllBuckets().keySet();
for (String bucketName : bucketNames) {
Bucket bucket = cluster.bucket(bucketName);
System.out.println("Bucket: " + bucketName);
CollectionManager collectionManager = bucket.collections();
for (ScopeSpec scope : collectionManager.getAllScopes()) {
System.out.println(" Scope: " + scope.name());
for (CollectionSpec collection : scope.collections()) {
System.out.println(" Collection: " + collection.name());
}
}
}
如果服务器不支持集合,此代码将抛出 FeatureNotAvailableException
。