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$currentOpand$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$currentOpand$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$currentOpand$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$currentOpand$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.CodecRegistrygetCodecRegistry()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.StringgetName()Gets the name of the database.ReadConcerngetReadConcern()Get the read concern for the MongoCollection.ReadPreferencegetReadPreference()Get the read preference for the MongoDatabase.WriteConcerngetWriteConcern()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.MongoDatabasewithCodecRegistry(CodecRegistry codecRegistry)Create a new MongoDatabase instance with a different codec registry.MongoDatabasewithReadConcern(ReadConcern readConcern)Create a new MongoDatabase instance with a different read concern.MongoDatabasewithReadPreference(ReadPreference readPreference)Create a new MongoDatabase instance with a different read preference.MongoDatabasewithWriteConcern(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 newCodecRegistryfor 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 newReadPreferencefor 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 newWriteConcernfor 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 newReadConcernfor 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- theReadPreferenceto 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- theReadPreferenceto 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- theReadPreferenceto 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- theReadPreferenceto 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$currentOpand$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$currentOpand$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$currentOpand$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$currentOpand$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
-
-