Packages

package scala

The MongoDB Scala Driver package

Contains type aliases and companion objects to help when using the Scala API

Since

1.0

Linear Supertypes
WriteConcernImplicits, ObservableImplicits, ClientSessionImplicits, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. scala
  2. WriteConcernImplicits
  3. ObservableImplicits
  4. ClientSessionImplicits
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package bson

    The bson package, contains mirrors and companion objects for Bson values.

  2. package connection

    The connection package contains classes that manage connecting to MongoDB servers.

  3. package gridfs
  4. package model

    The model package containing models and options that help describe MongoCollection operations

  5. package vault

    This package contains the Key Vault API

    This package contains the Key Vault API

    Since

    2.7

Type Members

  1. case class AggregateObservable[TResult](wrapped: AggregatePublisher[TResult]) extends Observable[TResult] with Product with Serializable

    Observable for aggregate

    Observable for aggregate

    TResult

    The type of the result.

    wrapped

    the underlying java AggregateObservable

    Since

    1.0

  2. type AutoEncryptionSettings = com.mongodb.AutoEncryptionSettings

    The client-side automatic encryption settings.

    The client-side automatic encryption settings. Client side encryption enables an application to specify what fields in a collection must be encrypted, and the driver automatically encrypts commands sent to MongoDB and decrypts responses.

    Automatic encryption is an enterprise only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view and will result in error. To bypass automatic encryption, set bypassAutoEncryption=true in AutoEncryptionSettings.

    Explicit encryption/decryption and automatic decryption is a community feature, enabled with the new com.mongodb.client.vault.ClientEncryption type.

    A MongoClient configured with bypassAutoEncryption=true will still automatically decrypt.

    If automatic encryption fails on an operation, use a MongoClient configured with bypassAutoEncryption=true and use ClientEncryption#encrypt to manually encrypt values.

    Enabling client side encryption reduces the maximum document and message size (using a maxBsonObjectSize of 2MiB and maxMessageSizeBytes of 6MB) and may have a negative performance impact.

    Automatic encryption requires the authenticated user to have the listCollections privilege action.

    Since

    2.7

  3. type BulkWriteResult = com.mongodb.bulk.BulkWriteResult

    The result of a successful bulk write operation.

  4. case class ChangeStreamObservable[TResult](wrapped: ChangeStreamPublisher[TResult]) extends Observable[ChangeStreamDocument[TResult]] with Product with Serializable

    Observable for change streams.

    Observable for change streams.

    Note: The ChangeStreamDocument class will not be applicable for all change stream outputs. If using custom pipelines that radically change the result, the the ChangeStreamObservable#withDocumentClass method should be used to provide an alternative document format.

    TResult

    The type of the result.

    wrapped

    the underlying java ChangeStreamIterable

    Since

    2.2

    Note

    Requires MongoDB 3.6 or greater

  5. type ClientEncryptionSettings = com.mongodb.ClientEncryptionSettings

    The client-side settings for data key creation and explicit encryption.

    The client-side settings for data key creation and explicit encryption.

    Explicit encryption/decryption is a community feature, enabled with the new com.mongodb.client.vault.ClientEncryption type, for which this is the settings.

    Since

    2.7

  6. type ClientSession = com.mongodb.reactivestreams.client.ClientSession

    A Client Session

    A Client Session

    Since

    2.4

  7. trait ClientSessionImplicits extends AnyRef

    Extends the Java ClientSession and adds helpers for committing and aborting transactions.

    Extends the Java ClientSession and adds helpers for committing and aborting transactions.

    Automatically imported into the org.mongodb.scala namespace

  8. implicit class ScalaClientSession extends AnyRef

    The implicit ClientSession with Scala helpers

    The implicit ClientSession with Scala helpers

    Definition Classes
    ClientSessionImplicits
  9. type ClientSessionOptions = com.mongodb.ClientSessionOptions

    Options for creating ClientSessions

    Options for creating ClientSessions

    Since

    2.2

  10. type ConnectionString = com.mongodb.ConnectionString

    The Connection String

  11. type CreateIndexCommitQuorum = com.mongodb.CreateIndexCommitQuorum

    Represents the commit quorum specifies how many data-bearing members of a replica set, including the primary, must complete the index builds successfully before the primary marks the indexes as ready.

    Represents the commit quorum specifies how many data-bearing members of a replica set, including the primary, must complete the index builds successfully before the primary marks the indexes as ready.

    Since

    4.1

  12. case class DistinctObservable[TResult](wrapped: DistinctPublisher[TResult]) extends Observable[TResult] with Product with Serializable

    Observable for distinct

    Observable for distinct

    TResult

    The type of the result.

    wrapped

    the underlying java DistinctObservable

    Since

    1.0

  13. type Document = scala.bson.collection.immutable.Document

    An immutable Document implementation.

    An immutable Document implementation.

    A strictly typed Map[String, BsonValue] like structure that traverses the elements in insertion order. Unlike native scala maps there is no variance in the value type and it always has to be a BsonValue.

  14. type DuplicateKeyException = com.mongodb.DuplicateKeyException

    Subclass of WriteConcernException representing a duplicate key exception

  15. case class FindObservable[TResult](wrapped: FindPublisher[TResult]) extends Observable[TResult] with Product with Serializable

    Observable interface for Find.

    Observable interface for Find.

    TResult

    The type of the result.

    wrapped

    the underlying java FindObservable

    Since

    1.0

  16. case class ListCollectionsObservable[TResult](wrapped: ListCollectionsPublisher[TResult]) extends Observable[TResult] with Product with Serializable

    Observable interface for ListCollections

    Observable interface for ListCollections

    TResult

    The type of the result.

    wrapped

    the underlying java ListCollectionsObservable

    Since

    1.0

  17. case class ListDatabasesObservable[TResult](wrapped: ListDatabasesPublisher[TResult]) extends Observable[TResult] with Product with Serializable

    Observable interface for ListDatabases.

    Observable interface for ListDatabases.

    TResult

    The type of the result.

    wrapped

    the underlying java ListDatabasesObservable

    Since

    1.0

  18. case class ListIndexesObservable[TResult](wrapped: ListIndexesPublisher[TResult]) extends Observable[TResult] with Product with Serializable

    Observable interface for ListIndexes.

    Observable interface for ListIndexes.

    TResult

    The type of the result.

    wrapped

    the underlying java ListIndexesObservable

    Since

    1.0

  19. case class MapReduceObservable[TResult](wrapped: MapReducePublisher[TResult]) extends Observable[TResult] with Product with Serializable

    Observable for map reduce.

  20. type MongoBulkWriteException = com.mongodb.MongoBulkWriteException

    An exception that represents all errors associated with a bulk write operation.

  21. type MongoChangeStreamException = com.mongodb.MongoChangeStreamException

    An exception indicating that a failure occurred when running a $changeStream.

    An exception indicating that a failure occurred when running a $changeStream.

    Since

    2.2

  22. case class MongoClient(wrapped: com.mongodb.reactivestreams.client.MongoClient) extends Closeable with Product with Serializable

    A client-side representation of a MongoDB cluster.

    A client-side representation of a MongoDB cluster. Instances can represent either a standalone MongoDB instance, a replica set, or a sharded cluster. Instance of this class are responsible for maintaining an up-to-date state of the cluster, and possibly cache resources related to this, including background threads for monitoring, and connection pools.

    Instance of this class server as factories for MongoDatabase instances.

    wrapped

    the underlying java MongoClient

    Since

    1.0

  23. type MongoClientException = com.mongodb.MongoClientException

    A base class for exceptions indicating a failure condition with the MongoClient.

  24. type MongoClientSettings = com.mongodb.MongoClientSettings

    Various settings to control the behavior of a MongoClient.

  25. case class MongoCollection[TResult](wrapped: com.mongodb.reactivestreams.client.MongoCollection[TResult]) extends Product with Serializable

    The MongoCollection representation.

    The MongoCollection representation.

    TResult

    The type that this collection will encode documents from and decode documents to.

    wrapped

    the underlying java MongoCollection

    Since

    1.0

  26. type MongoCommandException = com.mongodb.MongoCommandException

    An exception indicating that a command sent to a MongoDB server returned a failure.

  27. type MongoCompressor = com.mongodb.MongoCompressor

    Options for creating MongoCompressor

    Options for creating MongoCompressor

    Since

    2.2

  28. type MongoCredential = com.mongodb.MongoCredential

    Represents credentials to authenticate to a MongoDB server,as well as the source of the credentials and the authentication mechanism to use.

  29. type MongoCursorNotFoundException = com.mongodb.MongoCursorNotFoundException

    Subclass of MongoException representsing a cursor-not-found exception.

  30. case class MongoDatabase(wrapped: com.mongodb.reactivestreams.client.MongoDatabase) extends Product with Serializable

    The MongoDatabase representation.

    The MongoDatabase representation.

    wrapped

    the underlying java MongoDatabase

    Since

    1.0

  31. type MongoDriverInformation = com.mongodb.MongoDriverInformation

    The MongoDriverInformation class allows driver and library authors to add extra information about their library.

    The MongoDriverInformation class allows driver and library authors to add extra information about their library. This information is then available in the MongoD/MongoS logs.

    The following metadata can be included when creating a MongoClient.

    • The driver name. Eg: mongo-scala-driver
    • The driver version. Eg: 1.2.0
    • Extra platform information. Eg: Scala 2.11

    Note: Library authors are responsible for accepting MongoDriverInformation from external libraries using their library. Also all the meta data is limited to 512 bytes and any excess data will be truncated.

    Since

    1.2

    Note

    Requires MongoDB 3.4 or greater

  32. type MongoException = com.mongodb.MongoException

    Top level Exception for all Exceptions, server-side or client-side, that come from the driver.

  33. type MongoExecutionTimeoutException = com.mongodb.MongoExecutionTimeoutException

    Exception indicating that the execution of the current operation timed out as a result of the maximum operation time being exceeded.

  34. type MongoIncompatibleDriverException = com.mongodb.MongoIncompatibleDriverException

    An exception indicating that this version of the driver is not compatible with at least one of the servers that it is currently connected to.

  35. type MongoInternalException = com.mongodb.MongoInternalException

    A Mongo exception internal to the driver, not carrying any error code.

  36. type MongoInterruptedException = com.mongodb.MongoInterruptedException

    A non-checked exception indicating that the driver has been interrupted by a call to Thread.interrupt.

  37. type MongoNamespace = com.mongodb.MongoNamespace

    A MongoDB namespace, which includes a database name and collection name.

  38. type MongoNodeIsRecoveringException = com.mongodb.MongoNodeIsRecoveringException

    An exception indicating that the server is a member of a replica set but is in recovery mode, and therefore refused to execute the operation.

    An exception indicating that the server is a member of a replica set but is in recovery mode, and therefore refused to execute the operation. This can happen when a server is starting up and trying to join the replica set.

  39. type MongoNotPrimaryException = com.mongodb.MongoNotPrimaryException

    An exception indicating that the server is a member of a replica set but is not the primary, and therefore refused to execute either a write operation or a read operation that required a primary.

    An exception indicating that the server is a member of a replica set but is not the primary, and therefore refused to execute either a write operation or a read operation that required a primary. This can happen during a replica set election.

  40. type MongoQueryException = com.mongodb.MongoQueryException

    An exception indicating that a query operation failed on the server.

  41. type MongoSecurityException = com.mongodb.MongoSecurityException

    This exception is thrown when there is an error reported by the underlying client authentication mechanism.

  42. type MongoServerException = com.mongodb.MongoServerException

    An exception indicating that some error has been raised by a MongoDB server in response to an operation.

  43. type MongoSocketClosedException = com.mongodb.MongoSocketClosedException

    This exception is thrown when trying to read or write from a closed socket.

  44. type MongoSocketException = com.mongodb.MongoSocketException

    Subclass of MongoException representing a network-related exception

  45. type MongoSocketOpenException = com.mongodb.MongoSocketOpenException

    This exception is thrown when there is an exception opening a Socket.

  46. type MongoSocketReadException = com.mongodb.MongoSocketReadException

    This exception is thrown when there is an exception reading a response from a Socket.

  47. type MongoSocketReadTimeoutException = com.mongodb.MongoSocketReadTimeoutException

    This exception is thrown when there is a timeout reading a response from the socket.

  48. type MongoSocketWriteException = com.mongodb.MongoSocketWriteException

    This exception is thrown when there is an exception writing a response to a Socket.

  49. type MongoTimeoutException = com.mongodb.MongoTimeoutException

    An exception indicating that the driver has timed out waiting for either a server or a connection to become available.

  50. type MongoWriteConcernException = com.mongodb.MongoWriteConcernException

    An exception indicating a failure to apply the write concern to the requested write operation

    An exception indicating a failure to apply the write concern to the requested write operation

    See also

    WriteConcern

  51. type MongoWriteException = com.mongodb.MongoWriteException

    An exception indicating the failure of a write operation.

  52. trait Observable[T] extends Publisher[T]

    A Observable represents a MongoDB operation and implements the Publisher interface.

    A Observable represents a MongoDB operation and implements the Publisher interface.

    As such it is a provider of a potentially unbounded number of sequenced elements, publishing them according to the demand received from its Observer(s).

    Extends the Publisher interface and adds helpers to make Observables composable and simple to Subscribe to.

  53. trait ObservableImplicits extends AnyRef

    Implicit conversion support for Publishers, Observables and Subscriptions

    Implicit conversion support for Publishers, Observables and Subscriptions

    Automatically imported into the org.mongodb.scala namespace

  54. implicit class BoxedPublisher[T] extends Observable[T]
    Definition Classes
    ObservableImplicits
  55. implicit class BoxedSubscriber[T] extends Observer[T]
    Definition Classes
    ObservableImplicits
  56. implicit class BoxedSubscription extends Subscription
    Definition Classes
    ObservableImplicits
  57. implicit class ObservableFuture[T] extends AnyRef
    Definition Classes
    ObservableImplicits
  58. implicit class SingleObservableFuture[T] extends AnyRef
    Definition Classes
    ObservableImplicits
  59. implicit class ToObservableString extends Observable[String]
    Definition Classes
    ObservableImplicits
  60. implicit class ToSingleObservableGridFS extends SingleObservable[GridFSFile]
    Definition Classes
    ObservableImplicits
  61. implicit class ToSingleObservableInt extends SingleObservable[Int]
    Definition Classes
    ObservableImplicits
  62. implicit class ToSingleObservableLong extends SingleObservable[Long]
    Definition Classes
    ObservableImplicits
  63. implicit class ToSingleObservableObjectId extends SingleObservable[ObjectId]
    Definition Classes
    ObservableImplicits
  64. implicit class ToSingleObservablePublisher[T] extends SingleObservable[T]
    Definition Classes
    ObservableImplicits
  65. implicit class ToSingleObservableVoid extends SingleObservable[Void]
    Definition Classes
    ObservableImplicits
  66. trait Observer[T] extends Subscriber[T]

    A Scala based wrapper of the Subscriber interface which provides a mechanism for receiving push-based notifications.

    A Scala based wrapper of the Subscriber interface which provides a mechanism for receiving push-based notifications.

    Will receive a call to Observer.onSubscribe(subscription: Subscription) on subscription to the Observable.

    Default implementations of this trait are greedy and will call Subscription.request with Long.MaxValue so that all results are requested. Custom implementations of the onSubscribe method can be used to control "back-pressure" and ensure that only demand that the Observer is capable of handling is requested.

    After signaling demand:

    - One or more invocations of Observer.onNext up to the maximum number defined by Subscription.request - Single invocation of Observer.onError or Observer.onComplete which signals a terminal state after which no further events will be sent.

    T

    The type of element signaled.

  67. type ReadConcern = com.mongodb.ReadConcern

    Controls the level of isolation for reads.

    Controls the level of isolation for reads.

    Since

    1.1

  68. type ReadConcernLevel = com.mongodb.ReadConcernLevel

    The readConcern option allows clients to choose a level of isolation for their reads.

    The readConcern option allows clients to choose a level of isolation for their reads.

    Since

    1.1

    See also

    ReadConcern

  69. type ReadPreference = com.mongodb.ReadPreference

    Represents preferred replica set members to which a query or command can be sent.

  70. implicit class ScalaWriteConcern[T] extends AnyRef
    Definition Classes
    WriteConcernImplicits
  71. type ServerAddress = com.mongodb.ServerAddress

    Represents the location of a MongoDB server

  72. trait SingleObservable[T] extends Observable[T]

    A SingleObservable represents an Observable that contains only a single item.

    A SingleObservable represents an Observable that contains only a single item.

    T

    the type of element signaled.

    Since

    2.0

  73. trait Subscription extends reactivestreams.Subscription

    A Subscription represents a one-to-one lifecycle of a Observer subscribing to an Observable.

    A Subscription represents a one-to-one lifecycle of a Observer subscribing to an Observable.

    Instances can only be used once by a single Observer.

    It is used to both signal desire for data and to allow for unsubscribing.

  74. type Tag = com.mongodb.Tag

    A replica set tag

  75. type TagSet = com.mongodb.TagSet

    An immutable set of tags, used to select members of a replica set to use for read operations.

  76. type TaggableReadPreference = com.mongodb.TaggableReadPreference

    Represents ReadPreferences that can be combined with tags

  77. type TransactionOptions = com.mongodb.TransactionOptions

    Options for transactions

    Options for transactions

    Since

    2.4

  78. type WriteConcern = com.mongodb.WriteConcern

    Controls the acknowledgment of write operations with various options.

  79. type WriteConcernException = com.mongodb.WriteConcernException

    An exception representing an error reported due to a write failure.

  80. type WriteConcernResult = com.mongodb.WriteConcernResult

    The result of a successful write operation.

    The result of a successful write operation. If the write was unacknowledged, then wasAcknowledged will return false and all other methods with throw MongoUnacknowledgedWriteException.

    See also

    WriteConcern

  81. type WriteError = com.mongodb.WriteError

    Represents the details of a write error , e.g.

    Represents the details of a write error , e.g. a duplicate key error

Value Members

  1. val Document: scala.bson.collection.immutable.Document.type

    An immutable Document implementation.

    An immutable Document implementation.

    A strictly typed Map[String, BsonValue] like structure that traverses the elements in insertion order. Unlike native scala maps there is no variance in the value type and it always has to be a BsonValue.

  2. implicit def bsonDocumentToDocument(doc: BsonDocument): Document
  3. implicit def bsonDocumentToUntypedDocument(doc: BsonDocument): bson.Document
  4. implicit def classTagToClassOf[C](ct: ClassTag[C]): Class[C]

    Helper to get the class from a classTag

    Helper to get the class from a classTag

    C

    the class type

    ct

    the classTag we want to implicitly get the class of

    returns

    the classOf[C]

  5. implicit def documentToUntypedDocument(doc: Document): bson.Document
  6. object AutoEncryptionSettings

    The client-side automatic encryption settings.

    The client-side automatic encryption settings. Client side encryption enables an application to specify what fields in a collection must be encrypted, and the driver automatically encrypts commands sent to MongoDB and decrypts responses.

    Automatic encryption is an enterprise only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view and will result in error. To bypass automatic encryption, set bypassAutoEncryption=true in AutoEncryptionSettings.

    Explicit encryption/decryption and automatic decryption is a community feature, enabled with the new com.mongodb.client.vault.ClientEncryption type.

    A MongoClient configured with bypassAutoEncryption=true will still automatically decrypt.

    If automatic encryption fails on an operation, use a MongoClient configured with bypassAutoEncryption=true and use ClientEncryption#encrypt to manually encrypt values.

    Enabling client side encryption reduces the maximum document and message size (using a maxBsonObjectSize of 2MiB and maxMessageSizeBytes of 6MB) and may have a negative performance impact.

    Automatic encryption requires the authenticated user to have the listCollections privilege action.

    Since

    2.7

  7. object ClientEncryptionSettings

    The client-side settings for data key creation and explicit encryption.

    The client-side settings for data key creation and explicit encryption.

    Explicit encryption/decryption is a community feature, enabled with the new com.mongodb.client.vault.ClientEncryption type, for which this is the settings.

    Since

    2.7

  8. object ClientSessionOptions

    The options to apply to a ClientSession.

    The options to apply to a ClientSession.

    Since

    2.2

    See also

    ClientSession

  9. object ConnectionString

    Connection String companion object

  10. object CreateIndexCommitQuorum

    The commit quorum specifies how many data-bearing members of a replica set, including the primary, must complete the index builds successfully before the primary marks the indexes as ready.

    The commit quorum specifies how many data-bearing members of a replica set, including the primary, must complete the index builds successfully before the primary marks the indexes as ready.

    Since

    4.1

  11. object MongoClient extends Serializable

    Companion object for creating new MongoClient instances

    Companion object for creating new MongoClient instances

    Since

    1.0

  12. object MongoClientSettings

    A MongoClientSettings companion object

    A MongoClientSettings companion object

    Since

    1.0

  13. object MongoCompressor

    Metadata describing a compressor to use for sending and receiving messages to a MongoDB server.

    Metadata describing a compressor to use for sending and receiving messages to a MongoDB server.

    Since

    2.2

    Note

    Requires MongoDB 3.4 or greater

  14. object MongoCredential

    Represents credentials to authenticate to a MongoDB server, as well as the source of the credentials and the authentication mechanism to use.

    Represents credentials to authenticate to a MongoDB server, as well as the source of the credentials and the authentication mechanism to use.

    Since

    1.0

  15. object MongoDriverInformation

    The options regarding collation support in MongoDB 3.4+

    The options regarding collation support in MongoDB 3.4+

    Since

    1.2

    Note

    Requires MongoDB 3.4 or greater

  16. object MongoException

    Top level Exception for all Exceptions, server-side or client-side, that come from the driver.

  17. object MongoNamespace

    A companion object for MongoNamespace

    A companion object for MongoNamespace

    Since

    1.0

  18. object Observable

    A companion object for Observable

  19. object ReadConcern

    The readConcern option allows clients to choose a level of isolation for their reads.

    The readConcern option allows clients to choose a level of isolation for their reads.

    Since

    1.1

    Note

    Requires MongoDB 3.2 or greater

  20. object ReadConcernLevel

    The readConcern level of isolation for reads.

    The readConcern level of isolation for reads.

    Since

    1.1

    Note

    Requires MongoDB 3.2 or greater

  21. object ReadPreference

    The preferred replica set members to which a query or command can be sent.

    The preferred replica set members to which a query or command can be sent.

    Since

    1.0

  22. object ServerAddress

    Represents the location of a MongoDB server - i.e.

    Represents the location of a MongoDB server - i.e. server name and port number

    Since

    1.0

  23. object SingleObservable

    A companion object for SingleObservable

    A companion object for SingleObservable

    Since

    2.0

  24. object Tag

    A replica set tag.

  25. object TagSet

    An immutable set of tags, used to select members of a replica set to use for read operations.

  26. object TransactionOptions

    The options to apply to transactions.

    The options to apply to transactions.

    Since

    2.4

    See also

    TransactionOptions

  27. object WriteConcern

    Controls the acknowledgment of write operations with various options.

    Controls the acknowledgment of write operations with various options.

    w

    - 0: Don't wait for acknowledgement from the server - 1: Wait for acknowledgement, but don't wait for secondaries to replicate - >=2: Wait for one or more secondaries to also acknowledge - "majority": Wait for a majority of secondaries to also acknowledge - "<tag set name>": Wait for one or more secondaries to also acknowledge based on a tag set name

    wTimeout - how long to wait for slaves before failing

    - 0: indefinite - >0: time to wait in milliseconds

    Other options:

    - journal: If true block until write operations have been committed to the journal. Cannot be used in combination with fsync. Prior to MongoDB 2.6 this option was ignored if the server was running without journaling. Starting with MongoDB 2.6 write operations will fail with an exception if this option is used when the server is running without journaling.

    Implicit helper

    The ScalaWriteConcern implicit allows for chainable building of the WriteConcern eg:

    val myWriteConcern = WriteConcern.ACKNOWLEDGED.withJournal(true)).withWTimeout(Duration(10, TimeUnit.MILLISECONDS))
    Since

    1.0

Inherited from WriteConcernImplicits

Inherited from ObservableImplicits

Inherited from ClientSessionImplicits

Inherited from AnyRef

Inherited from Any

Ungrouped