case class ClientEncryption(wrapped: com.mongodb.reactivestreams.client.vault.ClientEncryption) extends Closeable with Product with Serializable
The Key vault.
Used to create data encryption keys, and to explicitly encrypt and decrypt values when auto-encryption is not an option.
- Since
2.7
- Alphabetic
- By Inheritance
- ClientEncryption
- Serializable
- Product
- Equals
- Closeable
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ClientEncryption(wrapped: com.mongodb.reactivestreams.client.vault.ClientEncryption)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def close(): Unit
- Definition Classes
- ClientEncryption → Closeable → AutoCloseable
- def createDataKey(kmsProvider: String, dataKeyOptions: DataKeyOptions): SingleObservable[BsonBinary]
Create a data key with the given KMS provider and options.
Create a data key with the given KMS provider and options.
Creates a new key document and inserts into the key vault collection.
- kmsProvider
the KMS provider
- dataKeyOptions
the options for data key creation
- returns
a Publisher containing the identifier for the created data key
- def createDataKey(kmsProvider: String): SingleObservable[BsonBinary]
Create a data key with the given KMS provider.
Create a data key with the given KMS provider.
Creates a new key document and inserts into the key vault collection.
- kmsProvider
the KMS provider
- returns
a Publisher containing the identifier for the created data key
- def createEncryptedCollection(database: MongoDatabase, collectionName: String, createCollectionOptions: CreateCollectionOptions, createEncryptedCollectionParams: CreateEncryptedCollectionParams): SingleObservable[BsonDocument]
Create a new collection with encrypted fields, automatically creating new data encryption keys when needed based on the configured
encryptedFields
, which must be specified.Create a new collection with encrypted fields, automatically creating new data encryption keys when needed based on the configured
encryptedFields
, which must be specified. This method does not modify the configuredencryptedFields
when creating new data keys, instead it creates a new configuration if needed.- database
The database to use for creating the collection.
- collectionName
The name for the collection to create.
- createCollectionOptions
Options for creating the collection.
- createEncryptedCollectionParams
Auxiliary parameters for creating an encrypted collection.
- returns
A publisher of the (potentially updated)
encryptedFields
configuration that was used to create the collection. A user may use this document to configurecom.mongodb.AutoEncryptionSettings.getEncryptedFieldsMap
. Produces MongoUpdatedEncryptedFieldsExceptionif an exception happens after creating at least one data key. This exception makes the updated
encryptedFieldsavailable to the caller.
- Annotations
- @Beta()
- Since
4.9
- Note
Requires MongoDB 7.0 or greater.
- See also
- def decrypt(value: BsonBinary): SingleObservable[BsonValue]
Decrypt the given value.
Decrypt the given value.
- value
the value to decrypt, which must be of subtype 6
- returns
a Publisher containing the decrypted value
- def encrypt(value: BsonValue, options: EncryptOptions): SingleObservable[BsonBinary]
Encrypt the given value with the given options.
Encrypt the given value with the given options. The driver may throw an exception for prohibited BSON value types
- value
the value to encrypt
- options
the options for data encryption
- returns
a Publisher containing the encrypted value, a BSON binary of subtype 6
- def encryptExpression(expression: Document, options: EncryptOptions): SingleObservable[Document]
Encrypts a Match Expression or Aggregate Expression to query a range index.
Encrypts a Match Expression or Aggregate Expression to query a range index.
The expression is expected to be in one of the following forms:
- A Match Expression of this form:
{$and: [{<field>: {$gt: <value1>}}, {<field>: {$lt: <value2> }}]}}
- An Aggregate Expression of this form:
{$and: [{$gt: [<fieldpath>, <value1>]}, {$lt: [<fieldpath>, <value2>]}] }}
$gt
may also be$gte
.$lt
may also be$lte
.Only supported when queryType is "rangePreview" and algorithm is "RangePreview".
Note: The Range algorithm is experimental only. It is not intended for public use. It is subject to breaking changes.
- expression
the Match Expression or Aggregate Expression
- options
the options
- returns
a Publisher containing the queryable encrypted range expression
- Annotations
- @Beta()
- Since
4.9
- Note
Requires MongoDB 6.2 or greater
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
This is the documentation for the MongoDB Scala driver.
Driver structure
The mongodb scala driver.
To get started you need a MongoClient instance, either from a connection string or via a org.mongodb.scala.MongoClientSettings.
Notable packages include: