Collection Manager
Manager for a bucket's scopes and collections.
Access via Bucket.collections.
Samples
import com.couchbase.client.kotlin.Bucket
import com.couchbase.client.kotlin.manager.collection.CollectionManager
import com.couchbase.client.kotlin.manager.collection.ScopeSpec
fun main() {
//sampleStart
// Create a new scope containing some collections
val manager: CollectionManager = bucket.collections
with(manager) {
val scopeName = "tenant-a"
createScope(scopeName)
createCollection(scopeName = scopeName, collectionName = "widgets")
createCollection(scopeName = scopeName, collectionName = "invoices")
println(getScope(scopeName))
}
//sampleEnd
}
import com.couchbase.client.kotlin.Bucket
import com.couchbase.client.kotlin.manager.collection.CollectionManager
import com.couchbase.client.kotlin.manager.collection.ScopeSpec
fun main() {
//sampleStart
// Create a new scope using an existing scope as a template.
// (The new scope will have collections with the same names
// as the template's collections.)
val manager: CollectionManager = bucket.collections
val templateScopeSpec: ScopeSpec = manager.getScope("existing-scope")
val nameOfNewScope = "new-scope"
manager.createScope(nameOfNewScope)
templateScopeSpec.collections
.filter { it.name != "_default" } // can't create default collection
.forEach { manager.createCollection(it.copy(scopeName = nameOfNewScope)) }
//sampleEnd
}
Functions
Link copied to clipboard
suspend fun createCollection(collection: CollectionSpec, common: CommonOptions = CommonOptions.Default)
Content copied to clipboard
Creates a collection in an existing scope.
suspend fun createCollection(scopeName: String, collectionName: String, common: CommonOptions = CommonOptions.Default, maxExpiry: Duration? = null)
Content copied to clipboard
Creates a collection in an existing scope. Equivalent to:
Link copied to clipboard
suspend fun createScope(scopeName: String, common: CommonOptions = CommonOptions.Default)
Content copied to clipboard
Creates a scope in the bucket.
Link copied to clipboard
suspend fun dropCollection(collection: CollectionSpec, common: CommonOptions = CommonOptions.Default)
Content copied to clipboard
Deletes a collection from a scope.
suspend fun dropCollection(scopeName: String, collectionName: String, common: CommonOptions = CommonOptions.Default)
Content copied to clipboard
Deletes a collection from a scope. Equivalent to:
Link copied to clipboard
suspend fun dropScope(scopeName: String, common: CommonOptions = CommonOptions.Default)
Content copied to clipboard
Deletes a scope from the bucket.
Link copied to clipboard
suspend fun getAllScopes(common: CommonOptions = CommonOptions.Default): List<ScopeSpec>
Content copied to clipboard
Returns information about all scopes (and their collections) in the bucket.
Link copied to clipboard
suspend fun getScope(scopeName: String, common: CommonOptions = CommonOptions.Default): ScopeSpec
Content copied to clipboard
Returns information about a scope and its collections.