Interface MongoDatabase
-
@ThreadSafe public interface MongoDatabase
The MongoDatabase interface.Note: Additions to this interface will not be considered to break binary compatibility.
- Since:
- 1.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AggregatePublisher<Document>
aggregate(ClientSession clientSession, List<? extends Bson> pipeline)
Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as$currentOp
and$listLocalSessions
.<TResult> AggregatePublisher<TResult>
aggregate(ClientSession clientSession, List<? extends Bson> pipeline, Class<TResult> resultClass)
Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as$currentOp
and$listLocalSessions
.AggregatePublisher<Document>
aggregate(List<? extends Bson> pipeline)
Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as$currentOp
and$listLocalSessions
.<TResult> AggregatePublisher<TResult>
aggregate(List<? extends Bson> pipeline, Class<TResult> resultClass)
Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as$currentOp
and$listLocalSessions
.org.reactivestreams.Publisher<Void>
createCollection(ClientSession clientSession, String collectionName)
Create a new collection with the given name.org.reactivestreams.Publisher<Void>
createCollection(ClientSession clientSession, String collectionName, CreateCollectionOptions options)
Create a new collection with the selected optionsorg.reactivestreams.Publisher<Void>
createCollection(String collectionName)
Create a new collection with the given name.org.reactivestreams.Publisher<Void>
createCollection(String collectionName, CreateCollectionOptions options)
Create a new collection with the selected optionsorg.reactivestreams.Publisher<Void>
createView(ClientSession clientSession, String viewName, String viewOn, List<? extends Bson> pipeline)
Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.org.reactivestreams.Publisher<Void>
createView(ClientSession clientSession, String viewName, String viewOn, List<? extends Bson> pipeline, CreateViewOptions createViewOptions)
Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.org.reactivestreams.Publisher<Void>
createView(String viewName, String viewOn, List<? extends Bson> pipeline)
Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.org.reactivestreams.Publisher<Void>
createView(String viewName, String viewOn, List<? extends Bson> pipeline, CreateViewOptions createViewOptions)
Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.org.reactivestreams.Publisher<Void>
drop()
Drops this database.org.reactivestreams.Publisher<Void>
drop(ClientSession clientSession)
Drops this database.CodecRegistry
getCodecRegistry()
Get the codec registry for the MongoDatabase.MongoCollection<Document>
getCollection(String collectionName)
Gets a collection.<TDocument>
MongoCollection<TDocument>getCollection(String collectionName, Class<TDocument> clazz)
Gets a collection, with a specific default document class.String
getName()
Gets the name of the database.ReadConcern
getReadConcern()
Get the read concern for the MongoCollection.ReadPreference
getReadPreference()
Get the read preference for the MongoDatabase.WriteConcern
getWriteConcern()
Get the write concern for the MongoDatabase.org.reactivestreams.Publisher<String>
listCollectionNames()
Gets the names of all the collections in this database.org.reactivestreams.Publisher<String>
listCollectionNames(ClientSession clientSession)
Gets the names of all the collections in this database.ListCollectionsPublisher<Document>
listCollections()
Finds all the collections in this database.ListCollectionsPublisher<Document>
listCollections(ClientSession clientSession)
Finds all the collections in this database.<TResult> ListCollectionsPublisher<TResult>
listCollections(ClientSession clientSession, Class<TResult> clazz)
Finds all the collections in this database.<TResult> ListCollectionsPublisher<TResult>
listCollections(Class<TResult> clazz)
Finds all the collections in this database.org.reactivestreams.Publisher<Document>
runCommand(ClientSession clientSession, Bson command)
Executes command in the context of the current database.org.reactivestreams.Publisher<Document>
runCommand(ClientSession clientSession, Bson command, ReadPreference readPreference)
Executes command in the context of the current database.<TResult> org.reactivestreams.Publisher<TResult>
runCommand(ClientSession clientSession, Bson command, ReadPreference readPreference, Class<TResult> clazz)
Executes command in the context of the current database.<TResult> org.reactivestreams.Publisher<TResult>
runCommand(ClientSession clientSession, Bson command, Class<TResult> clazz)
Executes command in the context of the current database.org.reactivestreams.Publisher<Document>
runCommand(Bson command)
Executes command in the context of the current database.org.reactivestreams.Publisher<Document>
runCommand(Bson command, ReadPreference readPreference)
Executes command in the context of the current database.<TResult> org.reactivestreams.Publisher<TResult>
runCommand(Bson command, ReadPreference readPreference, Class<TResult> clazz)
Executes command in the context of the current database.<TResult> org.reactivestreams.Publisher<TResult>
runCommand(Bson command, Class<TResult> clazz)
Executes command in the context of the current database.ChangeStreamPublisher<Document>
watch()
Creates a change stream for this database.ChangeStreamPublisher<Document>
watch(ClientSession clientSession)
Creates a change stream for this database.<TResult> ChangeStreamPublisher<TResult>
watch(ClientSession clientSession, Class<TResult> resultClass)
Creates a change stream for this database.ChangeStreamPublisher<Document>
watch(ClientSession clientSession, List<? extends Bson> pipeline)
Creates a change stream for this database.<TResult> ChangeStreamPublisher<TResult>
watch(ClientSession clientSession, List<? extends Bson> pipeline, Class<TResult> resultClass)
Creates a change stream for this database.<TResult> ChangeStreamPublisher<TResult>
watch(Class<TResult> resultClass)
Creates a change stream for this database.ChangeStreamPublisher<Document>
watch(List<? extends Bson> pipeline)
Creates a change stream for this database.<TResult> ChangeStreamPublisher<TResult>
watch(List<? extends Bson> pipeline, Class<TResult> resultClass)
Creates a change stream for this database.MongoDatabase
withCodecRegistry(CodecRegistry codecRegistry)
Create a new MongoDatabase instance with a different codec registry.MongoDatabase
withReadConcern(ReadConcern readConcern)
Create a new MongoDatabase instance with a different read concern.MongoDatabase
withReadPreference(ReadPreference readPreference)
Create a new MongoDatabase instance with a different read preference.MongoDatabase
withWriteConcern(WriteConcern writeConcern)
Create a new MongoDatabase instance with a different write concern.
-
-
-
Method Detail
-
getName
String getName()
Gets the name of the database.- Returns:
- the database name
-
getCodecRegistry
CodecRegistry getCodecRegistry()
Get the codec registry for the MongoDatabase.- Returns:
- the
CodecRegistry
-
getReadPreference
ReadPreference getReadPreference()
Get the read preference for the MongoDatabase.- Returns:
- the
ReadPreference
-
getWriteConcern
WriteConcern getWriteConcern()
Get the write concern for the MongoDatabase.- Returns:
- the
WriteConcern
-
getReadConcern
ReadConcern getReadConcern()
Get the read concern for the MongoCollection.- Returns:
- the
ReadConcern
- Since:
- 1.2
- Since server release
- 3.2
-
withCodecRegistry
MongoDatabase withCodecRegistry(CodecRegistry codecRegistry)
Create a new MongoDatabase instance with a different codec registry.- Parameters:
codecRegistry
- the newCodecRegistry
for the collection- Returns:
- a new MongoDatabase instance with the different codec registry
-
withReadPreference
MongoDatabase withReadPreference(ReadPreference readPreference)
Create a new MongoDatabase instance with a different read preference.- Parameters:
readPreference
- the newReadPreference
for the collection- Returns:
- a new MongoDatabase instance with the different readPreference
-
withWriteConcern
MongoDatabase withWriteConcern(WriteConcern writeConcern)
Create a new MongoDatabase instance with a different write concern.- Parameters:
writeConcern
- the newWriteConcern
for the collection- Returns:
- a new MongoDatabase instance with the different writeConcern
-
withReadConcern
MongoDatabase withReadConcern(ReadConcern readConcern)
Create a new MongoDatabase instance with a different read concern.- Parameters:
readConcern
- the newReadConcern
for the collection- Returns:
- a new MongoDatabase instance with the different ReadConcern
- Since:
- 1.2
- Since server release
- 3.2
-
getCollection
MongoCollection<Document> getCollection(String collectionName)
Gets a collection.- Parameters:
collectionName
- the name of the collection to return- Returns:
- the collection
-
getCollection
<TDocument> MongoCollection<TDocument> getCollection(String collectionName, Class<TDocument> clazz)
Gets a collection, with a specific default document class.- Type Parameters:
TDocument
- the type of the class to use instead ofDocument
.- Parameters:
collectionName
- the name of the collection to returnclazz
- the default class to cast any documents returned from the database into.- Returns:
- the collection
-
runCommand
org.reactivestreams.Publisher<Document> runCommand(Bson command)
Executes command in the context of the current database.- Parameters:
command
- the command to be run- Returns:
- a publisher containing the command result
-
runCommand
org.reactivestreams.Publisher<Document> runCommand(Bson command, ReadPreference readPreference)
Executes command in the context of the current database.- Parameters:
command
- the command to be runreadPreference
- theReadPreference
to be used when executing the command- Returns:
- a publisher containing the command result
-
runCommand
<TResult> org.reactivestreams.Publisher<TResult> runCommand(Bson command, Class<TResult> clazz)
Executes command in the context of the current database.- Type Parameters:
TResult
- the type of the class to use instead ofDocument
.- Parameters:
command
- the command to be runclazz
- the default class to cast any documents returned from the database into.- Returns:
- a publisher containing the command result
-
runCommand
<TResult> org.reactivestreams.Publisher<TResult> runCommand(Bson command, ReadPreference readPreference, Class<TResult> clazz)
Executes command in the context of the current database.- Type Parameters:
TResult
- the type of the class to use instead ofDocument
.- Parameters:
command
- the command to be runreadPreference
- theReadPreference
to be used when executing the commandclazz
- the default class to cast any documents returned from the database into.- Returns:
- a publisher containing the command result
-
runCommand
org.reactivestreams.Publisher<Document> runCommand(ClientSession clientSession, Bson command)
Executes command in the context of the current database.- Parameters:
clientSession
- the client session with which to associate this operationcommand
- the command to be run- Returns:
- a publisher containing the command result
- Since:
- 1.7
- Since server release
- 3.6
-
runCommand
org.reactivestreams.Publisher<Document> runCommand(ClientSession clientSession, Bson command, ReadPreference readPreference)
Executes command in the context of the current database.- Parameters:
clientSession
- the client session with which to associate this operationcommand
- the command to be runreadPreference
- theReadPreference
to be used when executing the command- Returns:
- a publisher containing the command result
- Since:
- 1.7
- Since server release
- 3.6
-
runCommand
<TResult> org.reactivestreams.Publisher<TResult> runCommand(ClientSession clientSession, Bson command, Class<TResult> clazz)
Executes command in the context of the current database.- Type Parameters:
TResult
- the type of the class to use instead ofDocument
.- Parameters:
clientSession
- the client session with which to associate this operationcommand
- the command to be runclazz
- the default class to cast any documents returned from the database into.- Returns:
- a publisher containing the command result
- Since:
- 1.7
- Since server release
- 3.6
-
runCommand
<TResult> org.reactivestreams.Publisher<TResult> runCommand(ClientSession clientSession, Bson command, ReadPreference readPreference, Class<TResult> clazz)
Executes command in the context of the current database.- Type Parameters:
TResult
- the type of the class to use instead ofDocument
.- Parameters:
clientSession
- the client session with which to associate this operationcommand
- the command to be runreadPreference
- theReadPreference
to be used when executing the commandclazz
- the default class to cast any documents returned from the database into.- Returns:
- a publisher containing the command result
- Since:
- 1.7
- Since server release
- 3.6
-
drop
org.reactivestreams.Publisher<Void> drop()
Drops this database.- Returns:
- a publisher identifying when the database has been dropped
- MongoDB documentation
- Drop database
-
drop
org.reactivestreams.Publisher<Void> drop(ClientSession clientSession)
Drops this database.- Parameters:
clientSession
- the client session with which to associate this operation- Returns:
- a publisher identifying when the database has been dropped
- Since:
- 1.7
- MongoDB documentation
- Drop database
- Since server release
- 3.6
-
listCollectionNames
org.reactivestreams.Publisher<String> listCollectionNames()
Gets the names of all the collections in this database.- Returns:
- a publisher with all the names of all the collections in this database
-
listCollectionNames
org.reactivestreams.Publisher<String> listCollectionNames(ClientSession clientSession)
Gets the names of all the collections in this database.- Parameters:
clientSession
- the client session with which to associate this operation- Returns:
- a publisher with all the names of all the collections in this database
- Since:
- 1.7
- Since server release
- 3.6
-
listCollections
ListCollectionsPublisher<Document> listCollections()
Finds all the collections in this database.- Returns:
- the fluent list collections interface
- MongoDB documentation
- listCollections
-
listCollections
<TResult> ListCollectionsPublisher<TResult> listCollections(Class<TResult> clazz)
Finds all the collections in this database.- Type Parameters:
TResult
- the target document type of the iterable.- Parameters:
clazz
- the class to decode each document into- Returns:
- the fluent list collections interface
- MongoDB documentation
- listCollections
-
listCollections
ListCollectionsPublisher<Document> listCollections(ClientSession clientSession)
Finds all the collections in this database.- Parameters:
clientSession
- the client session with which to associate this operation- Returns:
- the fluent list collections interface
- Since:
- 1.7
- MongoDB documentation
- listCollections
- Since server release
- 3.6
-
listCollections
<TResult> ListCollectionsPublisher<TResult> listCollections(ClientSession clientSession, Class<TResult> clazz)
Finds all the collections in this database.- Type Parameters:
TResult
- the target document type of the iterable.- Parameters:
clientSession
- the client session with which to associate this operationclazz
- the class to decode each document into- Returns:
- the fluent list collections interface
- Since:
- 1.7
- MongoDB documentation
- listCollections
- Since server release
- 3.6
-
createCollection
org.reactivestreams.Publisher<Void> createCollection(String collectionName)
Create a new collection with the given name.- Parameters:
collectionName
- the name for the new collection to create- Returns:
- a publisher identifying when the collection has been created
- MongoDB documentation
- Create Command
-
createCollection
org.reactivestreams.Publisher<Void> createCollection(String collectionName, CreateCollectionOptions options)
Create a new collection with the selected options- Parameters:
collectionName
- the name for the new collection to createoptions
- various options for creating the collection- Returns:
- a publisher identifying when the collection has been created
- MongoDB documentation
- Create Command
-
createCollection
org.reactivestreams.Publisher<Void> createCollection(ClientSession clientSession, String collectionName)
Create a new collection with the given name.- Parameters:
clientSession
- the client session with which to associate this operationcollectionName
- the name for the new collection to create- Returns:
- a publisher identifying when the collection has been created
- Since:
- 1.7
- MongoDB documentation
- Create Command
- Since server release
- 3.6
-
createCollection
org.reactivestreams.Publisher<Void> createCollection(ClientSession clientSession, String collectionName, CreateCollectionOptions options)
Create a new collection with the selected options- Parameters:
clientSession
- the client session with which to associate this operationcollectionName
- the name for the new collection to createoptions
- various options for creating the collection- Returns:
- a publisher identifying when the collection has been created
- Since:
- 1.7
- MongoDB documentation
- Create Command
- Since server release
- 3.6
-
createView
org.reactivestreams.Publisher<Void> createView(String viewName, String viewOn, List<? extends Bson> pipeline)
Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.- Parameters:
viewName
- the name of the view to createviewOn
- the backing collection/view for the viewpipeline
- the pipeline that defines the view- Returns:
- an observable identifying when the collection view has been created
- Since:
- 1.3
- MongoDB documentation
- Create Command
- Since server release
- 3.4
-
createView
org.reactivestreams.Publisher<Void> createView(String viewName, String viewOn, List<? extends Bson> pipeline, CreateViewOptions createViewOptions)
Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.- Parameters:
viewName
- the name of the view to createviewOn
- the backing collection/view for the viewpipeline
- the pipeline that defines the viewcreateViewOptions
- various options for creating the view- Returns:
- an observable identifying when the collection view has been created
- Since:
- 1.3
- MongoDB documentation
- Create Command
- Since server release
- 3.4
-
createView
org.reactivestreams.Publisher<Void> createView(ClientSession clientSession, String viewName, String viewOn, List<? extends Bson> pipeline)
Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.- Parameters:
clientSession
- the client session with which to associate this operationviewName
- the name of the view to createviewOn
- the backing collection/view for the viewpipeline
- the pipeline that defines the view- Returns:
- an observable identifying when the collection view has been created
- Since:
- 1.7
- MongoDB documentation
- Create Command
- Since server release
- 3.6
-
createView
org.reactivestreams.Publisher<Void> createView(ClientSession clientSession, String viewName, String viewOn, List<? extends Bson> pipeline, CreateViewOptions createViewOptions)
Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.- Parameters:
clientSession
- the client session with which to associate this operationviewName
- the name of the view to createviewOn
- the backing collection/view for the viewpipeline
- the pipeline that defines the viewcreateViewOptions
- various options for creating the view- Returns:
- an observable identifying when the collection view has been created
- Since:
- 1.7
- MongoDB documentation
- Create Command
- Since server release
- 3.6
-
watch
ChangeStreamPublisher<Document> watch()
Creates a change stream for this database.- Returns:
- the change stream iterable
- Since:
- 1.9
- MongoDB documentation
- Change Streams
- Since server release
- 4.0
-
watch
<TResult> ChangeStreamPublisher<TResult> watch(Class<TResult> resultClass)
Creates a change stream for this database.- Type Parameters:
TResult
- the target document type of the iterable.- Parameters:
resultClass
- the class to decode each document into- Returns:
- the change stream iterable
- Since:
- 1.9
- MongoDB documentation
- Change Streams
- Since server release
- 4.0
-
watch
ChangeStreamPublisher<Document> watch(List<? extends Bson> pipeline)
Creates a change stream for this database.- Parameters:
pipeline
- the aggregation pipeline to apply to the change stream.- Returns:
- the change stream iterable
- Since:
- 1.9
- MongoDB documentation
- Change Streams
- Since server release
- 4.0
-
watch
<TResult> ChangeStreamPublisher<TResult> watch(List<? extends Bson> pipeline, Class<TResult> resultClass)
Creates a change stream for this database.- Type Parameters:
TResult
- the target document type of the iterable.- Parameters:
pipeline
- the aggregation pipeline to apply to the change streamresultClass
- the class to decode each document into- Returns:
- the change stream iterable
- Since:
- 1.9
- MongoDB documentation
- Change Streams
- Since server release
- 4.0
-
watch
ChangeStreamPublisher<Document> watch(ClientSession clientSession)
Creates a change stream for this database.- Parameters:
clientSession
- the client session with which to associate this operation- Returns:
- the change stream iterable
- Since:
- 1.9
- MongoDB documentation
- Change Streams
- Since server release
- 4.0
-
watch
<TResult> ChangeStreamPublisher<TResult> watch(ClientSession clientSession, Class<TResult> resultClass)
Creates a change stream for this database.- Type Parameters:
TResult
- the target document type of the iterable.- Parameters:
clientSession
- the client session with which to associate this operationresultClass
- the class to decode each document into- Returns:
- the change stream iterable
- Since:
- 1.9
- MongoDB documentation
- Change Streams
- Since server release
- 4.0
-
watch
ChangeStreamPublisher<Document> watch(ClientSession clientSession, List<? extends Bson> pipeline)
Creates a change stream for this database.- Parameters:
clientSession
- the client session with which to associate this operationpipeline
- the aggregation pipeline to apply to the change stream.- Returns:
- the change stream iterable
- Since:
- 1.9
- MongoDB documentation
- Change Streams
- Since server release
- 4.0
-
watch
<TResult> ChangeStreamPublisher<TResult> watch(ClientSession clientSession, List<? extends Bson> pipeline, Class<TResult> resultClass)
Creates a change stream for this database.- Type Parameters:
TResult
- the target document type of the iterable.- Parameters:
clientSession
- the client session with which to associate this operationpipeline
- the aggregation pipeline to apply to the change streamresultClass
- the class to decode each document into- Returns:
- the change stream iterable
- Since:
- 1.9
- MongoDB documentation
- Change Streams
- Since server release
- 4.0
-
aggregate
AggregatePublisher<Document> aggregate(List<? extends Bson> pipeline)
Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as$currentOp
and$listLocalSessions
.- Parameters:
pipeline
- the aggregation pipeline- Returns:
- an iterable containing the result of the aggregation operation
- Since:
- 1.11
- MongoDB documentation
- Aggregate Command
- Since server release
- 3.6
-
aggregate
<TResult> AggregatePublisher<TResult> aggregate(List<? extends Bson> pipeline, Class<TResult> resultClass)
Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as$currentOp
and$listLocalSessions
.- Type Parameters:
TResult
- the target document type of the iterable.- Parameters:
pipeline
- the aggregation pipelineresultClass
- the class to decode each document into- Returns:
- an iterable containing the result of the aggregation operation
- Since:
- 1.11
- MongoDB documentation
- Aggregate Command
- Since server release
- 3.6
-
aggregate
AggregatePublisher<Document> aggregate(ClientSession clientSession, List<? extends Bson> pipeline)
Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as$currentOp
and$listLocalSessions
.- Parameters:
clientSession
- the client session with which to associate this operationpipeline
- the aggregation pipeline- Returns:
- an iterable containing the result of the aggregation operation
- Since:
- 1.11
- MongoDB documentation
- Aggregate Command
- Since server release
- 3.6
-
aggregate
<TResult> AggregatePublisher<TResult> aggregate(ClientSession clientSession, List<? extends Bson> pipeline, Class<TResult> resultClass)
Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as$currentOp
and$listLocalSessions
.- Type Parameters:
TResult
- the target document type of the iterable.- Parameters:
clientSession
- the client session with which to associate this operationpipeline
- the aggregation pipelineresultClass
- the class to decode each document into- Returns:
- an iterable containing the result of the aggregation operation
- Since:
- 1.11
- MongoDB documentation
- Aggregate Command
- Since server release
- 3.6
-
-