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 configuredencryptedFieldswhen 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)
encryptedFieldsconfiguration 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 updatedencryptedFieldsavailable 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>]}] }}$gtmay also be$gte.$ltmay 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: