-
Encoder used by this database for BSON conversions. This encoder’s options are inherited by collections derived from this database.
Declaration
Swift
public var encoder: BSONEncoder { get }
-
Decoder whose options are inherited by collections derived from this database.
Declaration
Swift
public var decoder: BSONDecoder { get }
-
The name of this database.
Declaration
Swift
public var name: String { get }
-
The
ReadConcern
set on this database, ornil
if one is not set.Declaration
Swift
public var readConcern: ReadConcern? { get }
-
The
ReadPreference
set on this databaseDeclaration
Swift
public var readPreference: ReadPreference { get }
-
The
WriteConcern
set on this database, ornil
if one is not set.Declaration
Swift
public var writeConcern: WriteConcern? { get }
-
Drops this database.
Declaration
Swift
public func drop(options: DropDatabaseOptions? = nil, session: ClientSession? = nil) throws
-
Access a collection within this database. If an option is not specified in the
MongoCollectionOptions
param, the collection will inherit the value from the parent database or the default if the db’s option is not set. To override an option inherited from the db (e.g. a read concern) with the default value, it must be explicitly specified in the options param (e.g. ReadConcern.serverDefault, not nil).Declaration
Swift
public func collection(_ name: String, options: MongoCollectionOptions? = nil) -> MongoCollection<BSONDocument>
Parameters
name
the name of the collection to get
options
options to set on the returned collection
Return Value
the requested
MongoCollection<Document>
-
Access a collection within this database, and associates the specified
Codable
typeT
with the returnedMongoCollection
. This association only exists in the context of this particularMongoCollection
instance. If an option is not specified in theMongoCollectionOptions
param, the collection will inherit the value from the parent database or the default if the db’s option is not set. To override an option inherited from the db (e.g. a read concern) with the default value, it must be explicitly specified in the options param (e.g. ReadConcern.serverDefault, not nil).Declaration
Swift
public func collection<T: Codable>( _ name: String, withType _: T.Type, options: MongoCollectionOptions? = nil ) -> MongoCollection<T>
Parameters
name
the name of the collection to get
options
options to set on the returned collection
Return Value
the requested
MongoCollection<T>
-
Creates a collection in this database with the specified options.
Throws
Throws:
MongoError.CommandError
if an error occurs that prevents the command from executing.MongoError.InvalidArgumentError
if the options passed in form an invalid combination.MongoError.LogicError
if the provided session is inactive.EncodingError
if an error occurs while encoding the options to BSON.
Declaration
Swift
public func createCollection( _ name: String, options: CreateCollectionOptions? = nil, session: ClientSession? = nil ) throws -> MongoCollection<BSONDocument>
Parameters
name
a
String
, the name of the collection to createoptions
Optional
CreateCollectionOptions
to use for the collectionsession
Optional
ClientSession
to use when executing this commandReturn Value
the newly created
MongoCollection<Document>
-
Creates a collection in this database with the specified options, and associates the specified
Codable
typeT
with the returnedMongoCollection
. This association only exists in the context of this particularMongoCollection
instance.Throws
Throws:
MongoError.CommandError
if an error occurs that prevents the command from executing.MongoError.InvalidArgumentError
if the options passed in form an invalid combination.MongoError.LogicError
if the provided session is inactive.EncodingError
if an error occurs while encoding the options to BSON.
Declaration
Swift
public func createCollection<T: Codable>( _ name: String, withType type: T.Type, options: CreateCollectionOptions? = nil, session: ClientSession? = nil ) throws -> MongoCollection<T>
Parameters
name
a
String
, the name of the collection to createoptions
Optional
CreateCollectionOptions
to use for the collectionsession
Optional
ClientSession
to use when executing this commandReturn Value
the newly created
MongoCollection<T>
-
Lists all the collections in this database.
Throws
Throws:
MongoError.InvalidArgumentError
if the options passed are an invalid combination.MongoError.LogicError
if the provided session is inactive.
Declaration
Swift
public func listCollections( _ filter: BSONDocument? = nil, options: ListCollectionsOptions? = nil, session: ClientSession? = nil ) throws -> MongoCursor<CollectionSpecification>
Parameters
filter
a
Document
, optional criteria to filter results byoptions
Optional
ListCollectionsOptions
to use when executing this commandsession
Optional
ClientSession
to use when executing this commandReturn Value
a
MongoCursor
over an array ofCollectionSpecification
s -
Gets a list of
MongoCollection
s in this database.Throws
Throws:
MongoError.InvalidArgumentError
if the options passed are an invalid combination.MongoError.LogicError
if the provided session is inactive.
Declaration
Swift
public func listMongoCollections( _ filter: BSONDocument? = nil, options: ListCollectionsOptions? = nil, session: ClientSession? = nil ) throws -> [MongoCollection<BSONDocument>]
Parameters
filter
a
Document
, optional criteria to filter results byoptions
Optional
ListCollectionsOptions
to use when executing this commandsession
Optional
ClientSession
to use when executing this commandReturn Value
An array of
MongoCollection
s that match the provided filter. -
Gets a list of names of collections in this database.
Throws
Throws:
MongoError.InvalidArgumentError
if the options passed are an invalid combination.MongoError.LogicError
if the provided session is inactive.
Declaration
Swift
public func listCollectionNames( _ filter: BSONDocument? = nil, options: ListCollectionsOptions? = nil, session: ClientSession? = nil ) throws -> [String]
Parameters
filter
a
Document
, optional criteria to filter results byoptions
Optional
ListCollectionsOptions
to use when executing this commandsession
Optional
ClientSession
to use when executing this commandReturn Value
A
[String]
containing names of collections that match the provided filter. -
Issues a MongoDB command against this database.
Throws
Throws:
MongoError.InvalidArgumentError
ifrequests
is empty.MongoError.LogicError
if the provided session is inactive.MongoError.WriteError
if any error occurs while the command was performing a write.MongoError.CommandError
if an error occurs that prevents the command from being performed.EncodingError
if an error occurs while encoding the options to BSON.
Declaration
Swift
@discardableResult public func runCommand( _ command: BSONDocument, options: RunCommandOptions? = nil, session: ClientSession? = nil ) throws -> BSONDocument
Parameters
command
a
Document
containing the command to issue against the databaseoptions
Optional
RunCommandOptions
to use when executing this commandsession
Optional
ClientSession
to use when executing this commandReturn Value
a
Document
containing the server response for the command -
Starts a
ChangeStream
on a database. Excludes system collections.Throws
Throws:
MongoError.CommandError
if an error occurs on the server while creating the change stream.MongoError.InvalidArgumentError
if the options passed formed an invalid combination.MongoError.InvalidArgumentError
if the_id
field is projected out of the change stream documents by the pipeline.
See also
SeeAlso:
Note
Supported in MongoDB version 4.0+ only.
Declaration
Swift
public func watch( _ pipeline: [BSONDocument] = [], options: ChangeStreamOptions? = nil, session: ClientSession? = nil ) throws -> ChangeStream<ChangeStreamEvent<BSONDocument>>
Parameters
pipeline
An array of aggregation pipeline stages to apply to the events returned by the change stream.
options
An optional
ChangeStreamOptions
to use when constructing the change stream.session
An optional
ClientSession
to use with this change stream.Return Value
A
ChangeStream
on all collections in a database. -
Starts a
ChangeStream
on a database. Excludes system collections. Associates the specifiedCodable
typeT
with thefullDocument
field in theChangeStreamEvent
s emitted by the returnedChangeStream
.Throws
Throws:
MongoError.CommandError
if an error occurs on the server while creating the change stream.MongoError.InvalidArgumentError
if the options passed formed an invalid combination.MongoError.InvalidArgumentError
if the_id
field is projected out of the change stream documents by the pipeline.
See also
SeeAlso:
Note
Supported in MongoDB version 4.0+ only.
Declaration
Swift
public func watch<FullDocType: Codable>( _ pipeline: [BSONDocument] = [], options: ChangeStreamOptions? = nil, session: ClientSession? = nil, withFullDocumentType _: FullDocType.Type ) throws -> ChangeStream<ChangeStreamEvent<FullDocType>>
Parameters
pipeline
An array of aggregation pipeline stages to apply to the events returned by the change stream.
options
An optional
ChangeStreamOptions
to use when constructing the change stream.session
An optional
ClientSession
to use with this change stream.withFullDocumentType
The type that the
fullDocument
field of the emittedChangeStreamEvent
s will be decoded to.Return Value
A
ChangeStream
on all collections in a database. -
Starts a
ChangeStream
on a database. Excludes system collections. Associates the specifiedCodable
typeT
with the returnedChangeStream
.Throws
Throws:
MongoError.CommandError
if an error occurs on the server while creating the change stream.MongoError.InvalidArgumentError
if the options passed formed an invalid combination.MongoError.InvalidArgumentError
if the_id
field is projected out of the change stream documents by the pipeline.
See also
SeeAlso:
Note
Supported in MongoDB version 4.0+ only.
Declaration
Swift
public func watch<EventType: Codable>( _ pipeline: [BSONDocument] = [], options: ChangeStreamOptions? = nil, session: ClientSession? = nil, withEventType _: EventType.Type ) throws -> ChangeStream<EventType>
Parameters
pipeline
An array of aggregation pipeline stages to apply to the events returned by the change stream.
options
An optional
ChangeStreamOptions
to use when constructing theChangeStream
.session
An optional
ClientSession
to use with this change stream.withEventType
The type that the entire change stream response will be decoded to and that will be returned when iterating through the change stream.
Return Value
A
ChangeStream
on all collections in a database. -
Runs an aggregation framework pipeline against this database for pipeline stages that do not require an underlying collection, such as
$currentOp
and$listLocalSessions
.Declaration
Swift
public func aggregate( _ pipeline: [BSONDocument], options: AggregateOptions? = nil, session: ClientSession? = nil ) throws -> MongoCursor<BSONDocument>
Parameters
pipeline
an
[BSONDocument]
containing the pipeline of aggregation operations to performoptions
Optional
AggregateOptions
to use when executing the commandsession
Optional
ClientSession
to use when executing this commandReturn Value
A
MongoCursor
over the resulting documents.Throws:
MongoError.CommandError
if an error occurs on the server while executing the aggregationMongoError.InvalidArgumentError
if the options passed are an invalid combination.MongoError.LogicError
if the provided session is inactive.MongoError.LogicError
if this database’s parent client has already been closed.EncodingError
if an error occurs while encoding the options to BSON.
-
Runs an aggregation framework pipeline against this database for pipeline stages that do not require an underlying collection, such as
$currentOp
and$listLocalSessions
. Associates the specifiedCodable
typeOutputType
with the returnedMongoCursor
Declaration
Swift
public func aggregate<OutputType: Codable>( _ pipeline: [BSONDocument], options: AggregateOptions? = nil, session: ClientSession? = nil, withOutputType: OutputType.Type ) throws -> MongoCursor<OutputType>
Parameters
pipeline
an
[BSONDocument]
containing the pipeline of aggregation operations to performoptions
Optional
AggregateOptions
to use when executing the commandsession
Optional
ClientSession
to use when executing this commandwithOutputType
the type that each resulting document of the output of the aggregation operation will be decoded to
Return Value
A
MongoCursor
over the resultingOutputType
sThrows:
MongoError.CommandError
if an error occurs on the server while executing the aggregationMongoError.InvalidArgumentError
if the options passed are an invalid combination.MongoError.LogicError
if the provided session is inactive.MongoError.LogicError
if this database’s parent client has already been closed.EncodingError
if an error occurs while encoding the options to BSON.