class ReactiveCollection extends AnyRef
Provides asynchronous access to all collection APIs, based around reactive programming using the Project Reactor library. This is the main entry-point for key-value (KV) operations.
If synchronous, blocking access is needed, we recommend looking at the Collection. If a simpler
async API based around Scala Future
s is desired, then check out the AsyncCollection.
- Since
1.0.0
- Alphabetic
- By Inheritance
- ReactiveCollection
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ReactiveCollection(async: AsyncCollection)
Value Members
- def bucketName: String
-
def
exists(id: String, options: ExistsOptions): SMono[ExistsResult]
Checks if a document exists.
Checks if a document exists.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
exists(id: String, timeout: Duration = kvReadTimeout): SMono[ExistsResult]
Checks if a document exists.
Checks if a document exists.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
get(id: String, options: GetOptions): SMono[GetResult]
Fetches a full document from this collection.
Fetches a full document from this collection.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
get(id: String, timeout: Duration = kvReadTimeout): SMono[GetResult]
Fetches a full document from this collection.
Fetches a full document from this collection.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
getAllReplicas(id: String, options: GetAllReplicasOptions): SFlux[GetReplicaResult]
Retrieves all available versions of the document.
Retrieves all available versions of the document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
getAllReplicas(id: String, timeout: Duration = kvReadTimeout): SFlux[GetReplicaResult]
Retrieves all available versions of the document.
Retrieves all available versions of the document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
getAndLock(id: String, lockTime: Duration, options: GetAndLockOptions): SMono[GetResult]
Fetches a full document from this collection, and simultaneously lock the document from writes.
Fetches a full document from this collection, and simultaneously lock the document from writes.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
getAndLock(id: String, lockTime: Duration, timeout: Duration = kvReadTimeout): SMono[GetResult]
Fetches a full document from this collection, and simultaneously lock the document from writes.
Fetches a full document from this collection, and simultaneously lock the document from writes.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
getAndTouch(id: String, expiry: Duration, options: GetAndTouchOptions): SMono[GetResult]
Fetches a full document from this collection, and simultaneously update the expiry value of the document.
Fetches a full document from this collection, and simultaneously update the expiry value of the document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
getAndTouch(id: String, expiry: Duration, timeout: Duration = kvReadTimeout): SMono[GetResult]
Fetches a full document from this collection, and simultaneously update the expiry value of the document.
Fetches a full document from this collection, and simultaneously update the expiry value of the document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
getAnyReplica(id: String, options: GetAnyReplicaOptions): SMono[GetReplicaResult]
Retrieves any available version of the document.
Retrieves any available version of the document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
getAnyReplica(id: String, timeout: Duration = kvReadTimeout): SMono[GetReplicaResult]
Retrieves any available version of the document.
Retrieves any available version of the document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
insert[T](id: String, content: T, options: InsertOptions)(implicit serializer: JsonSerializer[T]): SMono[MutationResult]
Inserts a full document into this collection, if it does not exist already.
Inserts a full document into this collection, if it does not exist already.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
insert[T](id: String, content: T, durability: Durability = Disabled, timeout: Duration = Duration.MinusInf)(implicit serializer: JsonSerializer[T]): SMono[MutationResult]
Inserts a full document into this collection, if it does not exist already.
Inserts a full document into this collection, if it does not exist already.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
lookupIn(id: String, spec: Seq[LookupInSpec], options: LookupInOptions): SMono[LookupInResult]
SubDocument lookups allow retrieving parts of a JSON document directly, which may be more efficient than retrieving the entire document.
SubDocument lookups allow retrieving parts of a JSON document directly, which may be more efficient than retrieving the entire document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
lookupIn(id: String, spec: Seq[LookupInSpec], timeout: Duration = kvReadTimeout): SMono[LookupInResult]
SubDocument lookups allow retrieving parts of a JSON document directly, which may be more efficient than retrieving the entire document.
SubDocument lookups allow retrieving parts of a JSON document directly, which may be more efficient than retrieving the entire document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
mutateIn(id: String, spec: Seq[MutateInSpec], options: MutateInOptions): SMono[MutateInResult]
SubDocument mutations allow modifying parts of a JSON document directly, which can be more efficiently than fetching and modifying the full document.
SubDocument mutations allow modifying parts of a JSON document directly, which can be more efficiently than fetching and modifying the full document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
mutateIn(id: String, spec: Seq[MutateInSpec], cas: Long = 0, document: StoreSemantics = StoreSemantics.Replace, durability: Durability = Disabled, timeout: Duration = Duration.MinusInf): SMono[MutateInResult]
SubDocument mutations allow modifying parts of a JSON document directly, which can be more efficiently than fetching and modifying the full document.
SubDocument mutations allow modifying parts of a JSON document directly, which can be more efficiently than fetching and modifying the full document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. - def name: String
-
def
remove(id: String, options: RemoveOptions): SMono[MutationResult]
Removes a document from this collection, if it exists.
Removes a document from this collection, if it exists.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
remove(id: String, cas: Long = 0, durability: Durability = Disabled, timeout: Duration = Duration.MinusInf): SMono[MutationResult]
Removes a document from this collection, if it exists.
Removes a document from this collection, if it exists.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
replace[T](id: String, content: T, options: ReplaceOptions)(implicit serializer: JsonSerializer[T]): SMono[MutationResult]
Replaces the contents of a full document in this collection, if it already exists.
Replaces the contents of a full document in this collection, if it already exists.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
replace[T](id: String, content: T, cas: Long = 0, durability: Durability = Disabled, timeout: Duration = Duration.MinusInf)(implicit serializer: JsonSerializer[T]): SMono[MutationResult]
Replaces the contents of a full document in this collection, if it already exists.
Replaces the contents of a full document in this collection, if it already exists.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. - def scopeName: String
-
def
touch(id: String, expiry: Duration, options: TouchOptions): SMono[MutationResult]
Updates the expiry of the document with the given id.
Updates the expiry of the document with the given id.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
touch(id: String, expiry: Duration, timeout: Duration = kvReadTimeout): SMono[MutationResult]
Updates the expiry of the document with the given id.
Updates the expiry of the document with the given id.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
unlock(id: String, cas: Long, options: UnlockOptions): SMono[Unit]
Unlock a locked document.
Unlock a locked document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
unlock(id: String, cas: Long, timeout: Duration = kvReadTimeout): SMono[Unit]
Unlock a locked document.
Unlock a locked document.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
upsert[T](id: String, content: T, options: UpsertOptions)(implicit serializer: JsonSerializer[T]): SMono[MutationResult]
Upserts the contents of a full document in this collection.
Upserts the contents of a full document in this collection.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection. -
def
upsert[T](id: String, content: T, durability: Durability = Disabled, timeout: Duration = Duration.MinusInf)(implicit serializer: JsonSerializer[T]): SMono[MutationResult]
Upserts the contents of a full document in this collection.
Upserts the contents of a full document in this collection.
This reactive programming version performs the same functionality and takes the same parameters, but returns the same result object asynchronously in a Project Reactor
SMono
. See the documentation for the matching method in Collection.