Class DBCollection
MongoClient mongoClient = new MongoClient(new ServerAddress("localhost", 27017));
DB db = mongoClient.getDB("mydb");
DBCollection collection = db.getCollection("test");
To get a collection to use, just specify the name of the collection to the getCollection(String collectionName) method:
DBCollection coll = db.getCollection("testCollection");
Once you have the collection object, you can insert documents into the collection:
BasicDBObject doc = new BasicDBObject("name", "MongoDB").append("type", "database")
.append("count", 1)
.append("info", new BasicDBObject("x", 203).append("y", 102));
coll.insert(doc);
To show that the document we inserted in the previous step is there, we can do a simple findOne() operation to get the first document in
the collection:
DBObject myDoc = coll.findOne();
System.out.println(myDoc);
See MongoClient.getDB(String)
for further information about the effective deprecation of this class.- MongoDB documentation
- Collection
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The name of the field that uniquely identifies each document in a collection. -
Constructor Summary
ModifierConstructorDescriptionprotected
DBCollection
(DB database, String name) Initializes a new collection. -
Method Summary
Modifier and TypeMethodDescriptionaggregate
(List<? extends DBObject> pipeline, AggregationOptions options) Method implements aggregation framework.aggregate
(List<? extends DBObject> pipeline, AggregationOptions options, ReadPreference readPreference) Method implements aggregation framework.long
count()
Same asgetCount()
long
Get the count of documents in collection that would match a criteria.long
count
(DBObject query, DBCollectionCountOptions options) Get the count of documents in collection that would match a criteria.long
count
(DBObject query, ReadPreference readPreference) Get the count of documents in collection that would match a criteria.void
createIndex
(DBObject keys) Creates an index on the field specified, if that index does not already exist.void
createIndex
(DBObject keys, DBObject options) Creates an index on the field specified, if that index does not already exist.void
createIndex
(DBObject keys, String name) Forces creation of an index on a set of fields, if one does not already exist.void
createIndex
(DBObject keys, String name, boolean unique) Forces creation of an index on a set of fields, if one does not already exist.void
createIndex
(String name) Forces creation of an ascending index on a field with the default options.Find the distinct values for a specified field across a collection and returns the results in an array.distinct
(String fieldName, DBCollectionDistinctOptions options) Find the distinct values for a specified field across a collection and returns the results in an array.Find the distinct values for a specified field across a collection and returns the results in an array.distinct
(String fieldName, DBObject query, ReadPreference readPreference) Find the distinct values for a specified field across a collection and returns the results in an array.distinct
(String fieldName, ReadPreference readPreference) Find the distinct values for a specified field across a collection and returns the results in an array.void
drop()
Drops (deletes) this collection from the database.void
Drops an index from this collection.void
Drops the index with the given name from this collection.void
Drop all indexes on this collection.void
dropIndexes
(String indexName) Drops the index with the given name from this collection.explainAggregate
(List<? extends DBObject> pipeline, AggregationOptions options) Return the explain plan for the aggregation pipeline.find()
Select all documents in collection and get a cursor to the selected documents.Select documents in collection and get a cursor to the selected documents.find
(DBObject query, DBCollectionFindOptions options) Select documents in collection and get a cursor to the selected documents.Select documents in collection and get a cursor to the selected documents.findAndModify
(DBObject query, DBCollectionFindAndModifyOptions options) Atomically modify and return a single document.findAndModify
(DBObject query, DBObject update) Atomically modify and return a single document.findAndModify
(DBObject query, DBObject sort, DBObject update) Atomically modify and return a single document.findAndModify
(DBObject query, DBObject fields, DBObject sort, boolean remove, DBObject update, boolean returnNew, boolean upsert) Atomically modify and return a single document.findAndModify
(DBObject query, DBObject fields, DBObject sort, boolean remove, DBObject update, boolean returnNew, boolean upsert, boolean bypassDocumentValidation, long maxTime, TimeUnit maxTimeUnit) Atomically modify and return a single document.findAndModify
(DBObject query, DBObject fields, DBObject sort, boolean remove, DBObject update, boolean returnNew, boolean upsert, boolean bypassDocumentValidation, long maxTime, TimeUnit maxTimeUnit, WriteConcern writeConcern) Atomically modify and return a single document.findAndModify
(DBObject query, DBObject fields, DBObject sort, boolean remove, DBObject update, boolean returnNew, boolean upsert, long maxTime, TimeUnit maxTimeUnit) Atomically modify and return a single document.findAndModify
(DBObject query, DBObject fields, DBObject sort, boolean remove, DBObject update, boolean returnNew, boolean upsert, long maxTime, TimeUnit maxTimeUnit, WriteConcern writeConcern) Atomically modify and return a single document.findAndModify
(DBObject query, DBObject fields, DBObject sort, boolean remove, DBObject update, boolean returnNew, boolean upsert, WriteConcern writeConcern) Atomically modify and return a single document.findAndRemove
(DBObject query) Atomically remove and return a single document.findOne()
Get a single document from collection.Get a single document from collection.findOne
(DBObject query, DBCollectionFindOptions findOptions) Get a single document from collection.Get a single document from collection.Get a single document from collection.findOne
(DBObject query, DBObject projection, DBObject sort, ReadPreference readPreference) Get a single document from collection.findOne
(DBObject query, DBObject projection, ReadPreference readPreference) Get a single document from collection.Get a single document from collection by '_id'.Get a single document from collection by '_id'.getCollection
(String name) Find a collection that is prefixed with this collection's name.long
getCount()
Get the count of documents in collection.long
Get the count of documents in collection that would match a criteria.long
getCount
(DBObject query, DBCollectionCountOptions options) Get the count of documents in collection that would match a criteria.getDB()
Returns the database this collection is a member of.Get the decoder factory for this collection.Get the encoder factory for this collection.Get the full name of a collection, with the database name as a prefix.Return a list of the indexes for this collection.getName()
Get the name of a collection.Gets the default class for objects in the collectionGet the read concern for this collection.Gets theReadPreference
.Get theWriteConcern
for this collection.Creates a builder for an ordered bulk write operation, consisting of an ordered collection of write requests, which can be any combination of inserts, updates, replaces, or removes.Creates a builder for an unordered bulk operation, consisting of an unordered collection of write requests, which can be any combination of inserts, updates, replaces, or removes.Insert documents into a collection.insert
(DBObject[] documents, WriteConcern writeConcern) Insert documents into a collection.insert
(DBObject[] documents, WriteConcern aWriteConcern, DBEncoder encoder) Insert documents into a collection.insert
(DBObject document, WriteConcern writeConcern) Insert a document into a collection.insert
(WriteConcern writeConcern, DBObject... documents) Insert documents into a collection.Insert documents into a collection.insert
(List<? extends DBObject> documents, InsertOptions insertOptions) Insert documents into a collection.insert
(List<? extends DBObject> documents, WriteConcern aWriteConcern) Insert documents into a collection.insert
(List<? extends DBObject> documents, WriteConcern aWriteConcern, DBEncoder dbEncoder) Insert documents into a collection.mapReduce
(MapReduceCommand command) Allows you to run map-reduce aggregation operations over a collection.Allows you to run map-reduce aggregation operations over a collection.mapReduce
(String map, String reduce, String outputTarget, MapReduceCommand.OutputType outputType, DBObject query) Allows you to run map-reduce aggregation operations over a collection and saves to a named collection.mapReduce
(String map, String reduce, String outputTarget, MapReduceCommand.OutputType outputType, DBObject query, ReadPreference readPreference) Allows you to run map-reduce aggregation operations over a collection and saves to a named collection.Remove documents from a collection.remove
(DBObject query, DBCollectionRemoveOptions options) Remove documents from a collection.remove
(DBObject query, WriteConcern writeConcern) Remove documents from a collection.remove
(DBObject query, WriteConcern writeConcern, DBEncoder encoder) Remove documents from a collection.Change the name of an existing collection.Change the name of an existing collection.Update an existing document or insert a document depending on the parameter.save
(DBObject document, WriteConcern writeConcern) Update an existing document or insert a document depending on the parameter.void
setDBDecoderFactory
(DBDecoderFactory factory) Set a custom decoder factory for this collection.void
setDBEncoderFactory
(DBEncoderFactory factory) Set a custom encoder factory for this collection.void
setInternalClass
(String path, Class<? extends DBObject> aClass) Sets the internal class for the given path in the document hierarchyvoid
setObjectClass
(Class<? extends DBObject> aClass) Sets a default class for objects in this collection; null resets the class to nothing.void
setReadConcern
(ReadConcern readConcern) Sets the read concern for this collection.void
setReadPreference
(ReadPreference preference) Sets theReadPreference
for this collection.void
setWriteConcern
(WriteConcern writeConcern) Set theWriteConcern
for this collection.toString()
Modify an existing document.Modify an existing document or documents in collection.update
(DBObject query, DBObject update, boolean upsert, boolean multi, WriteConcern aWriteConcern) Modify an existing document or documents in collection.update
(DBObject query, DBObject update, boolean upsert, boolean multi, WriteConcern concern, DBEncoder encoder) Modify an existing document or documents in collection.update
(DBObject query, DBObject update, boolean upsert, boolean multi, WriteConcern concern, Boolean bypassDocumentValidation, DBEncoder encoder) Modify an existing document or documents in collection.update
(DBObject query, DBObject update, DBCollectionUpdateOptions options) Modify an existing document or documents in collection.updateMulti
(DBObject query, DBObject update) Modify documents in collection.
-
Field Details
-
ID_FIELD_NAME
The name of the field that uniquely identifies each document in a collection.- See Also:
-
-
Constructor Details
-
DBCollection
Initializes a new collection. No operation is actually performed on the database.- Parameters:
database
- database in which to create the collectionname
- the name of the collection
-
-
Method Details
-
insert
Insert a document into a collection. If the collection does not exists on the server, then it will be created. If the new document does not contain an '_id' field, it will be added.- Parameters:
document
-DBObject
to be insertedwriteConcern
-WriteConcern
to be used during operation- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Insert Documents
-
insert
Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document does not contain an '_id' field, it will be added. Collection wideWriteConcern
will be used.- Parameters:
documents
-DBObject
's to be inserted- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Insert Documents
-
insert
Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document does not contain an '_id' field, it will be added.- Parameters:
documents
-DBObject
's to be insertedwriteConcern
-WriteConcern
to be used during operation- Returns:
- the result of the operation
- Throws:
MongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the write failed due some other failure- MongoDB documentation
- Insert Documents
-
insert
Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document does not contain an '_id' field, it will be added.- Parameters:
documents
-DBObject
's to be insertedwriteConcern
-WriteConcern
to be used during operation- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Insert Documents
-
insert
Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document does not contain an '_id' field, it will be added.- Parameters:
documents
- list ofDBObject
to be inserted- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Insert Documents
-
insert
Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document does not contain an '_id' field, it will be added.- Parameters:
documents
- list ofDBObject
's to be insertedaWriteConcern
-WriteConcern
to be used during operation- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Insert Documents
-
insert
Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document does not contain an '_id' field, it will be added.- Parameters:
documents
-DBObject
's to be insertedaWriteConcern
-WriteConcern
to be used during operationencoder
-DBEncoder
to be used- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Insert Documents
-
insert
public WriteResult insert(List<? extends DBObject> documents, WriteConcern aWriteConcern, @Nullable DBEncoder dbEncoder) Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document does not contain an '_id' field, it will be added.- Parameters:
documents
- a list ofDBObject
's to be insertedaWriteConcern
-WriteConcern
to be used during operationdbEncoder
-DBEncoder
to be used- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Insert Documents
-
insert
Insert documents into a collection. If the collection does not exists on the server, then it will be created. If the new document does not contain an '_id' field, it will be added.
If the value of the continueOnError property of the given
InsertOptions
is true, that value will override the value of the continueOnError property of the givenWriteConcern
. Otherwise, the value of the continueOnError property of the givenWriteConcern
will take effect.- Parameters:
documents
- a list ofDBObject
's to be insertedinsertOptions
- the options to use for the insert- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Insert Documents
-
save
Update an existing document or insert a document depending on the parameter. If the document does not contain an '_id' field, then the method performs an insert with the specified fields in the document as well as an '_id' field with a unique objectId value. If the document contains an '_id' field, then the method performs an upsert querying the collection on the '_id' field:- If a document does not exist with the specified '_id' value, the method performs an insert with the specified fields in the document.
- If a document exists with the specified '_id' value, the method performs an update, replacing all field in the existing record with the fields from the document.
- Parameters:
document
-DBObject
to save to the collection.- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert or update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Save
-
save
Update an existing document or insert a document depending on the parameter. If the document does not contain an '_id' field, then the method performs an insert with the specified fields in the document as well as an '_id' field with a unique objectId value. If the document contains an '_id' field, then the method performs an upsert querying the collection on the '_id' field:- If a document does not exist with the specified '_id' value, the method performs an insert with the specified fields in the document.
- If a document exists with the specified '_id' value, the method performs an update, replacing all field in the existing record with the fields from the document.
- Parameters:
document
-DBObject
to save to the collection.writeConcern
-WriteConcern
to be used during operation- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the insert or update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Save
-
update
public WriteResult update(DBObject query, DBObject update, boolean upsert, boolean multi, WriteConcern aWriteConcern) Modify an existing document or documents in collection. The query parameter employs the same query selectors, as used infind()
.- Parameters:
query
- the selection criteria for the updateupdate
- the modifications to applyupsert
- when true, inserts a document if no document matches the update query criteriamulti
- when true, updates all documents in the collection that match the update query criteria, otherwise only updates oneaWriteConcern
-WriteConcern
to be used during operation- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Modify Documents
-
update
public WriteResult update(DBObject query, DBObject update, boolean upsert, boolean multi, WriteConcern concern, @Nullable DBEncoder encoder) Modify an existing document or documents in collection. By default the method updates a single document. The query parameter employs the same query selectors, as used infind()
.- Parameters:
query
- the selection criteria for the updateupdate
- the modifications to applyupsert
- when true, inserts a document if no document matches the update query criteriamulti
- when true, updates all documents in the collection that match the update query criteria, otherwise only updates oneconcern
-WriteConcern
to be used during operationencoder
-DBEncoder
to be used- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Modify Documents
-
update
public WriteResult update(DBObject query, DBObject update, boolean upsert, boolean multi, WriteConcern concern, @Nullable Boolean bypassDocumentValidation, @Nullable DBEncoder encoder) Modify an existing document or documents in collection. By default the method updates a single document. The query parameter employs the same query selectors, as used infind(DBObject)
.- Parameters:
query
- the selection criteria for the updateupdate
- the modifications to applyupsert
- when true, inserts a document if no document matches the update query criteriamulti
- when true, updates all documents in the collection that match the update query criteria, otherwise only updates oneconcern
-WriteConcern
to be used during operationbypassDocumentValidation
- whether to bypass document validation.encoder
- the DBEncoder to use- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- Since:
- 2.14
- MongoDB documentation
- Modify
-
update
Modify an existing document or documents in collection. The query parameter employs the same query selectors, as used infind()
.- Parameters:
query
- the selection criteria for the updateupdate
- the modifications to applyupsert
- when true, inserts a document if no document matches the update query criteriamulti
- when true, updates all documents in the collection that match the update query criteria, otherwise only updates one- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Modify Documents
-
update
Modify an existing document. The query parameter employs the same query selectors, as used infind()
.- Parameters:
query
- the selection criteria for the updateupdate
- the modifications to apply- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Modify Documents
-
updateMulti
Modify documents in collection. The query parameter employs the same query selectors, as used infind()
.- Parameters:
query
- the selection criteria for the updateupdate
- the modifications to apply- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Modify Documents
-
update
Modify an existing document or documents in collection.- Parameters:
query
- the selection criteria for the updateupdate
- the modifications to applyoptions
- the options to apply to the update operation- Returns:
- the result of the operation
- Throws:
DuplicateKeyException
- if the write failed to a duplicate unique keyWriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- Since:
- 3.4
- MongoDB documentation
- Modify
-
remove
Remove documents from a collection.- Parameters:
query
- the deletion criteria using query operators. Omit the query parameter or pass an empty document to delete all documents in the collection.- Returns:
- the result of the operation
- Throws:
WriteConcernException
- if the write failed due some other failure specific to the delete commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Remove Documents
-
remove
Remove documents from a collection.- Parameters:
query
- the deletion criteria using query operators. Omit the query parameter or pass an empty document to delete all documents in the collection.writeConcern
-WriteConcern
to be used during operation- Returns:
- the result of the operation
- Throws:
WriteConcernException
- if the write failed due some other failure specific to the delete commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Remove Documents
-
remove
Remove documents from a collection.- Parameters:
query
- the deletion criteria using query operators. Omit the query parameter or pass an empty document to delete all documents in the collection.writeConcern
-WriteConcern
to be used during operationencoder
-DBEncoder
to be used- Returns:
- the result of the operation
- Throws:
WriteConcernException
- if the write failed due some other failure specific to the delete commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Remove Documents
-
remove
Remove documents from a collection.- Parameters:
query
- the deletion criteria using query operators. Omit the query parameter or pass an empty document to delete all documents in the collection.options
- the options to apply to the delete operation- Returns:
- the result of the operation
- Throws:
WriteConcernException
- if the write failed due some other failure specific to the delete commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- Since:
- 3.4
- MongoDB documentation
- Remove Documents
-
find
Select documents in collection and get a cursor to the selected documents.- Parameters:
query
- the selection criteria using query operators. Omit the query parameter or pass an empty document to return all documents in the collection.- Returns:
- A cursor to the documents that match the query criteria
- MongoDB documentation
- Querying
-
find
Select documents in collection and get a cursor to the selected documents.- Parameters:
query
- the selection criteria using query operators. Omit the query parameter or pass an empty document to return all documents in the collection.projection
- specifies which fields MongoDB will return from the documents in the result set.- Returns:
- A cursor to the documents that match the query criteria
- MongoDB documentation
- Querying
-
find
Select all documents in collection and get a cursor to the selected documents.- Returns:
- A cursor to the documents that match the query criteria
- MongoDB documentation
- Querying
-
find
Select documents in collection and get a cursor to the selected documents.- Parameters:
query
- the selection criteria using query operators. Omit the query parameter or pass an empty document to return all documents in the collection.options
- the options for the find operation.- Returns:
- A cursor to the documents that match the query criteria
- Since:
- 3.4
- MongoDB documentation
- Querying
-
findOne
Get a single document from collection.- Returns:
- A document that satisfies the query specified as the argument to this method.
- MongoDB documentation
- Querying
-
findOne
Get a single document from collection.- Parameters:
query
- the selection criteria using query operators.- Returns:
- A document that satisfies the query specified as the argument to this method.
- MongoDB documentation
- Querying
-
findOne
Get a single document from collection.- Parameters:
query
- the selection criteria using query operators.projection
- specifies which fields MongoDB will return from the documents in the result set.- Returns:
- A document that satisfies the query specified as the argument to this method.
- MongoDB documentation
- Querying
-
findOne
Get a single document from collection.- Parameters:
query
- the selection criteria using query operators.projection
- specifies which fields MongoDB will return from the documents in the result set.sort
- A document whose fields specify the attributes on which to sort the result set.- Returns:
- A document that satisfies the query specified as the argument to this method.
- MongoDB documentation
- Querying
-
findOne
@Nullable public DBObject findOne(DBObject query, DBObject projection, ReadPreference readPreference) Get a single document from collection.- Parameters:
query
- the selection criteria using query operators.projection
- specifies which fields MongoDB will return from the documents in the result set.readPreference
-ReadPreference
to be used for this operation- Returns:
- A document that satisfies the query specified as the argument to this method.
- MongoDB documentation
- Querying
-
findOne
@Nullable public DBObject findOne(@Nullable DBObject query, @Nullable DBObject projection, @Nullable DBObject sort, ReadPreference readPreference) Get a single document from collection.- Parameters:
query
- the selection criteria using query operators.projection
- specifies which projection MongoDB will return from the documents in the result set.sort
- A document whose fields specify the attributes on which to sort the result set.readPreference
-ReadPreference
to be used for this operation- Returns:
- A document that satisfies the query specified as the argument to this method.
- MongoDB documentation
- Querying
-
findOne
Get a single document from collection by '_id'.- Parameters:
id
- value of '_id' field of a document we are looking for- Returns:
- A document with '_id' provided as the argument to this method.
- MongoDB documentation
- Querying
-
findOne
Get a single document from collection by '_id'.- Parameters:
id
- value of '_id' field of a document we are looking forprojection
- specifies which projection MongoDB will return from the documents in the result set.- Returns:
- A document that satisfies the query specified as the argument to this method.
- MongoDB documentation
- Querying
-
findOne
Get a single document from collection.- Parameters:
query
- the selection criteria using query operators.findOptions
- the options for the find operation.- Returns:
- A document that satisfies the query specified as the argument to this method.
- Since:
- 3.4
- MongoDB documentation
- Querying
-
count
public long count()Same asgetCount()
- Returns:
- the number of documents in collection
- Throws:
MongoException
- if the operation failed- MongoDB documentation
- Count
-
count
Get the count of documents in collection that would match a criteria.- Parameters:
query
- specifies the selection criteria- Returns:
- the number of documents that matches selection criteria
- Throws:
MongoException
- if the operation failed- MongoDB documentation
- Count
-
count
Get the count of documents in collection that would match a criteria.- Parameters:
query
- specifies the selection criteriareadPreference
-ReadPreference
to be used for this operation- Returns:
- the number of documents that matches selection criteria
- Throws:
MongoException
- if the operation failed- MongoDB documentation
- Count
-
count
Get the count of documents in collection that would match a criteria.- Parameters:
query
- specifies the selection criteriaoptions
- the options for the count operation.- Returns:
- the number of documents that matches selection criteria
- Throws:
MongoException
- if the operation failed- Since:
- 3.4
- MongoDB documentation
- Count
-
getCount
public long getCount()Get the count of documents in collection.- Returns:
- the number of documents in collection
- Throws:
MongoException
- if the operation failed- MongoDB documentation
- Count
-
getCount
Get the count of documents in collection that would match a criteria.- Parameters:
query
- specifies the selection criteria- Returns:
- the number of documents that matches selection criteria
- Throws:
MongoException
- if the operation failed- MongoDB documentation
- Count
-
getCount
Get the count of documents in collection that would match a criteria.- Parameters:
query
- specifies the selection criteriaoptions
- the options for the count operation.- Returns:
- the number of documents that matches selection criteria
- Throws:
MongoException
- if the operation failed- Since:
- 3.4
- MongoDB documentation
- Count
-
rename
Change the name of an existing collection.- Parameters:
newName
- specifies the new name of the collection- Returns:
- the collection with new name
- Throws:
MongoException
- if newName is the name of an existing collection.- MongoDB documentation
- Rename Collection
-
rename
Change the name of an existing collection.- Parameters:
newName
- specifies the new name of the collectiondropTarget
- Iftrue
, mongod will drop the collection with the target name if it exists- Returns:
- the collection with new name
- Throws:
MongoException
- if target is the name of an existing collection anddropTarget=false
.- MongoDB documentation
- Rename Collection
-
distinct
Find the distinct values for a specified field across a collection and returns the results in an array.- Parameters:
fieldName
- Specifies the field for which to return the distinct values.- Returns:
- a List of the distinct values
- MongoDB documentation
- Distinct Command
-
distinct
Find the distinct values for a specified field across a collection and returns the results in an array.- Parameters:
fieldName
- Specifies the field for which to return the distinct valuesreadPreference
-ReadPreference
to be used for this operation- Returns:
- a List of the distinct values
- MongoDB documentation
- Distinct Command
-
distinct
Find the distinct values for a specified field across a collection and returns the results in an array.- Parameters:
fieldName
- Specifies the field for which to return the distinct valuesquery
- specifies the selection query to determine the subset of documents from which to retrieve the distinct values- Returns:
- an array of the distinct values
- MongoDB documentation
- Distinct Command
-
distinct
Find the distinct values for a specified field across a collection and returns the results in an array.- Parameters:
fieldName
- Specifies the field for which to return the distinct valuesquery
- specifies the selection query to determine the subset of documents from which to retrieve the distinct valuesreadPreference
-ReadPreference
to be used for this operation- Returns:
- A
List
of the distinct values - MongoDB documentation
- Distinct Command
-
distinct
Find the distinct values for a specified field across a collection and returns the results in an array.- Parameters:
fieldName
- Specifies the field for which to return the distinct valuesoptions
- the options to apply for this operation- Returns:
- A
List
of the distinct values - Since:
- 3.4
- MongoDB documentation
- Distinct Command
-
mapReduce
Allows you to run map-reduce aggregation operations over a collection.- Parameters:
map
- a JavaScript function that associates or "maps" a value with a key and emits the key and value pair.reduce
- a JavaScript function that "reduces" to a single object all the values associated with a particular key.outputTarget
- specifies the location of the result of the map-reduce operation.query
- specifies the selection criteria using query operators for determining the documents input to the map function.- Returns:
- a MapReduceOutput which contains the results of this map reduce operation
- MongoDB documentation
- Map-Reduce
-
mapReduce
public MapReduceOutput mapReduce(String map, String reduce, String outputTarget, MapReduceCommand.OutputType outputType, DBObject query) Allows you to run map-reduce aggregation operations over a collection and saves to a named collection.- Parameters:
map
- a JavaScript function that associates or "maps" a value with a key and emits the key and value pair.reduce
- a JavaScript function that "reduces" to a single object all the values associated with a particular key.outputTarget
- specifies the location of the result of the map-reduce operation.outputType
- specifies the type of job outputquery
- specifies the selection criteria using query operators for determining the documents input to the map function.- Returns:
- a MapReduceOutput which contains the results of this map reduce operation
- MongoDB documentation
- Map-Reduce
-
mapReduce
public MapReduceOutput mapReduce(String map, String reduce, String outputTarget, MapReduceCommand.OutputType outputType, DBObject query, ReadPreference readPreference) Allows you to run map-reduce aggregation operations over a collection and saves to a named collection.- Parameters:
map
- a JavaScript function that associates or "maps" a value with a key and emits the key and value pair.reduce
- a JavaScript function that "reduces" to a single object all the values associated with a particular key.outputTarget
- specifies the location of the result of the map-reduce operation.outputType
- specifies the type of job outputquery
- specifies the selection criteria using query operators for determining the documents input to the map function.readPreference
- the read preference specifying where to run the query. Only applied for Inline output type- Returns:
- a MapReduceOutput which contains the results of this map reduce operation
- MongoDB documentation
- Map-Reduce
-
mapReduce
Allows you to run map-reduce aggregation operations over a collection.- Parameters:
command
- specifies the details of the Map Reduce operation to perform- Returns:
- a MapReduceOutput containing the results of the map reduce operation
- MongoDB documentation
- Map-Reduce
-
aggregate
Method implements aggregation framework.- Parameters:
pipeline
- operations to be performed in the aggregation pipelineoptions
- options to apply to the aggregation- Returns:
- the aggregation operation's result set
- MongoDB documentation
- Aggregation
- Since server release
- 2.2
-
aggregate
public Cursor aggregate(List<? extends DBObject> pipeline, AggregationOptions options, ReadPreference readPreference) Method implements aggregation framework.- Parameters:
pipeline
- operations to be performed in the aggregation pipelineoptions
- options to apply to the aggregationreadPreference
-ReadPreference
to be used for this operation- Returns:
- the aggregation operation's result set
- MongoDB documentation
- Aggregation
- Since server release
- 2.2
-
explainAggregate
public CommandResult explainAggregate(List<? extends DBObject> pipeline, AggregationOptions options) Return the explain plan for the aggregation pipeline.- Parameters:
pipeline
- the aggregation pipeline to explainoptions
- the options to apply to the aggregation- Returns:
- the command result. The explain output may change from release to release, so best to simply log this.
- MongoDB documentation
- Aggregation
- Explain query
- Since server release
- 3.6
-
getName
Get the name of a collection.- Returns:
- the name of a collection
-
getFullName
Get the full name of a collection, with the database name as a prefix.- Returns:
- the name of a collection
- MongoDB documentation
- Namespace
-
getCollection
Find a collection that is prefixed with this collection's name. A typical use of this might be
Which is equivalent toDBCollection users = mongo.getCollection( "wiki" ).getCollection( "users" );
DBCollection users = mongo.getCollection( "wiki.users" );
- Parameters:
name
- the name of the collection to find- Returns:
- the matching collection
-
createIndex
Forces creation of an ascending index on a field with the default options.- Parameters:
name
- name of field to index on- Throws:
MongoException
- if the operation failed- MongoDB documentation
- Index Creation Tutorials
-
createIndex
Forces creation of an index on a set of fields, if one does not already exist.- Parameters:
keys
- a document that contains pairs with the name of the field or fields to index and order of the indexname
- an identifier for the index. If null or empty, the default name will be used.- Throws:
MongoException
- if the operation failed- MongoDB documentation
- Index Creation Tutorials
-
createIndex
Forces creation of an index on a set of fields, if one does not already exist.- Parameters:
keys
- a document that contains pairs with the name of the field or fields to index and order of the indexname
- an identifier for the index. If null or empty, the default name will be used.unique
- if the index should be unique- Throws:
MongoException
- if the operation failed- MongoDB documentation
- Index Creation Tutorials
-
createIndex
Creates an index on the field specified, if that index does not already exist.- Parameters:
keys
- a document that contains pairs with the name of the field or fields to index and order of the index- MongoDB documentation
- Index Creation Tutorials
-
createIndex
Creates an index on the field specified, if that index does not already exist.Prior to MongoDB 3.0 the dropDups option could be used with unique indexes allowing documents with duplicate values to be dropped when building the index. Later versions of MongoDB will silently ignore this setting.
- Parameters:
keys
- a document that contains pairs with the name of the field or fields to index and order of the indexoptions
- a document that controls the creation of the index.- MongoDB documentation
- Index Creation Tutorials
-
findAndModify
@Nullable public DBObject findAndModify(@Nullable DBObject query, @Nullable DBObject sort, DBObject update) Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.- Parameters:
query
- specifies the selection criteria for the modificationsort
- determines which document the operation will modify if the query selects multiple documentsupdate
- the modifications to apply- Returns:
- pre-modification document
- Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Find and Modify
-
findAndModify
Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.- Parameters:
query
- specifies the selection criteria for the modificationupdate
- the modifications to apply- Returns:
- the document as it was before the modifications
- Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Find and Modify
-
findAndRemove
Atomically remove and return a single document. The returned document is the original document before removal.- Parameters:
query
- specifies the selection criteria for the modification- Returns:
- the document as it was before the modifications
- Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Find and Modify
-
findAndModify
@Nullable public DBObject findAndModify(@Nullable DBObject query, @Nullable DBObject fields, @Nullable DBObject sort, boolean remove, @Nullable DBObject update, boolean returnNew, boolean upsert) Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.- Parameters:
query
- specifies the selection criteria for the modificationfields
- a subset of fields to returnsort
- determines which document the operation will modify if the query selects multiple documentsremove
- whentrue
, removes the selected documentreturnNew
- when true, returns the modified document rather than the originalupdate
- the modifications to applyupsert
- when true, operation creates a new document if the query returns no documents- Returns:
- the document as it was before the modifications, unless
returnNew
is true, in which case it returns the document after the changes were made - Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- MongoDB documentation
- Find and Modify
-
findAndModify
@Nullable public DBObject findAndModify(@Nullable DBObject query, @Nullable DBObject fields, @Nullable DBObject sort, boolean remove, DBObject update, boolean returnNew, boolean upsert, WriteConcern writeConcern) Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.- Parameters:
query
- specifies the selection criteria for the modificationfields
- a subset of fields to returnsort
- determines which document the operation will modify if the query selects multiple documentsremove
- when true, removes the selected documentreturnNew
- when true, returns the modified document rather than the originalupdate
- the modifications to applyupsert
- when true, operation creates a new document if the query returns no documentswriteConcern
- the write concern to apply to this operation- Returns:
- the document as it was before the modifications, unless
returnNew
is true, in which case it returns the document after the changes were made - Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- Since:
- 2.14
- MongoDB documentation
- Find and Modify
-
findAndModify
@Nullable public DBObject findAndModify(@Nullable DBObject query, @Nullable DBObject fields, @Nullable DBObject sort, boolean remove, @Nullable DBObject update, boolean returnNew, boolean upsert, long maxTime, TimeUnit maxTimeUnit) Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.- Parameters:
query
- specifies the selection criteria for the modificationfields
- a subset of fields to returnsort
- determines which document the operation will modify if the query selects multiple documentsremove
- when true, removes the selected documentreturnNew
- when true, returns the modified document rather than the originalupdate
- the modifications to applyupsert
- when true, operation creates a new document if the query returns no documentsmaxTime
- the maximum time that the server will allow this operation to execute before killing it.maxTimeUnit
- the unit that maxTime is specified in- Returns:
- the document as it was before the modifications, unless
returnNew
is true, in which case it returns the document after the changes were made - Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- Since:
- 2.12.0
- MongoDB documentation
- Find and Modify
-
findAndModify
@Nullable public DBObject findAndModify(@Nullable DBObject query, @Nullable DBObject fields, @Nullable DBObject sort, boolean remove, @Nullable DBObject update, boolean returnNew, boolean upsert, long maxTime, TimeUnit maxTimeUnit, WriteConcern writeConcern) Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.- Parameters:
query
- specifies the selection criteria for the modificationfields
- a subset of fields to returnsort
- determines which document the operation will modify if the query selects multiple documentsremove
- whentrue
, removes the selected documentreturnNew
- when true, returns the modified document rather than the originalupdate
- performs an update of the selected documentupsert
- when true, operation creates a new document if the query returns no documentsmaxTime
- the maximum time that the server will allow this operation to execute before killing itmaxTimeUnit
- the unit that maxTime is specified inwriteConcern
- the write concern to apply to this operation- Returns:
- the document as it was before the modifications, unless
returnNew
is true, in which case it returns the document after the changes were made - Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- Since:
- 2.14.0
- MongoDB documentation
- Find and Modify
-
findAndModify
@Nullable public DBObject findAndModify(DBObject query, DBObject fields, DBObject sort, boolean remove, @Nullable DBObject update, boolean returnNew, boolean upsert, boolean bypassDocumentValidation, long maxTime, TimeUnit maxTimeUnit) Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.- Parameters:
query
- specifies the selection criteria for the modificationfields
- a subset of fields to returnsort
- determines which document the operation will modify if the query selects multiple documentsremove
- whentrue
, removes the selected documentreturnNew
- when true, returns the modified document rather than the originalupdate
- performs an update of the selected documentupsert
- when true, operation creates a new document if the query returns no documentsbypassDocumentValidation
- whether to bypass document validation.maxTime
- the maximum time that the server will allow this operation to execute before killing itmaxTimeUnit
- the unit that maxTime is specified in- Returns:
- the document as it was before the modifications, unless
returnNew
is true, in which case it returns the document after the changes were made - Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- Since:
- 2.14.0
- MongoDB documentation
- Find and Modify
-
findAndModify
public DBObject findAndModify(@Nullable DBObject query, @Nullable DBObject fields, @Nullable DBObject sort, boolean remove, @Nullable DBObject update, boolean returnNew, boolean upsert, boolean bypassDocumentValidation, long maxTime, TimeUnit maxTimeUnit, WriteConcern writeConcern) Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.- Parameters:
query
- specifies the selection criteria for the modificationfields
- a subset of fields to returnsort
- determines which document the operation will modify if the query selects multiple documentsremove
- whentrue
, removes the selected documentreturnNew
- when true, returns the modified document rather than the originalupdate
- performs an update of the selected documentupsert
- when true, operation creates a new document if the query returns no documentsbypassDocumentValidation
- whether to bypass document validation.maxTime
- the maximum time that the server will allow this operation to execute before killing itmaxTimeUnit
- the unit that maxTime is specified inwriteConcern
- the write concern to apply to this operation- Returns:
- the document as it was before the modifications, unless
returnNew
is true, in which case it returns the document after the changes were made - Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- Since:
- 2.14.0
- MongoDB documentation
- Find and Modify
-
findAndModify
Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.- Parameters:
query
- specifies the selection criteria for the modificationoptions
- the options regarding the find and modify operation- Returns:
- the document as it was before the modifications, unless
oprtions.returnNew
is true, in which case it returns the document after the changes were made - Throws:
WriteConcernException
- if the write failed due some other failure specific to the update commandMongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed for some other reason- Since:
- 3.4
- MongoDB documentation
- Find and Modify
-
getDB
Returns the database this collection is a member of.- Returns:
- this collection's database
- MongoDB documentation
- Database
-
getWriteConcern
Get theWriteConcern
for this collection.- Returns:
- the default write concern for this collection
- MongoDB documentation
- Write Concern
-
setWriteConcern
Set theWriteConcern
for this collection. Will be used for writes to this collection. Overrides any setting of write concern at the DB level.- Parameters:
writeConcern
- WriteConcern to use- MongoDB documentation
- Write Concern
-
getReadPreference
Gets theReadPreference
.- Returns:
- the default read preference for this collection
- MongoDB documentation
- Read Preference
-
setReadPreference
Sets theReadPreference
for this collection. Will be used as default for reads from this collection; overrides DB and Connection level settings. See the documentation forReadPreference
for more information.- Parameters:
preference
- ReadPreference to use- MongoDB documentation
- Read Preference
-
setReadConcern
Sets the read concern for this collection.- Parameters:
readConcern
- the read concern to use for this collection- Since:
- 3.3
- MongoDB documentation
- Read Concern
- Since server release
- 3.2
-
getReadConcern
Get the read concern for this collection.- Returns:
- the
ReadConcern
- Since:
- 3.3
- MongoDB documentation
- Read Concern
- Since server release
- 3.2
-
drop
public void drop()Drops (deletes) this collection from the database. Use with care.- Throws:
MongoCommandException
- if the write failed due to a specific command exceptionMongoException
- if the operation failed- MongoDB documentation
- Drop Command
-
getDBDecoderFactory
Get the decoder factory for this collection. A null return value means that the default from MongoClientOptions is being used.- Returns:
- the factory
-
setDBDecoderFactory
Set a custom decoder factory for this collection. Set to null to use the default from MongoClientOptions.- Parameters:
factory
- the factory to set.
-
getDBEncoderFactory
Get the encoder factory for this collection. A null return value means that the default from MongoClientOptions is being used.- Returns:
- the factory
-
setDBEncoderFactory
Set a custom encoder factory for this collection. Set to null to use the default from MongoClientOptions.- Parameters:
factory
- the factory to set.
-
getIndexInfo
Return a list of the indexes for this collection. Each object in the list is the "info document" from MongoDB- Returns:
- list of index documents
- Throws:
MongoException
- if the operation failed- MongoDB documentation
- Indexes
-
dropIndex
Drops an index from this collection. The DBObject index parameter must match the specification of the index to drop, i.e. correct key name and type must be specified.- Parameters:
index
- the specification of the index to drop- Throws:
MongoException
- if the index does not exist- MongoDB documentation
- Indexes
-
dropIndex
Drops the index with the given name from this collection.- Parameters:
indexName
- name of index to drop- Throws:
MongoException
- if the index does not exist- MongoDB documentation
- Indexes
-
dropIndexes
public void dropIndexes()Drop all indexes on this collection. The default index on the _id field will not be deleted.- MongoDB documentation
- Indexes
-
dropIndexes
Drops the index with the given name from this collection. This method is exactly the same asdropIndex(indexName)
.- Parameters:
indexName
- name of index to drop- Throws:
MongoException
- if the index does not exist- MongoDB documentation
- Indexes
-
getObjectClass
Gets the default class for objects in the collection- Returns:
- the class
-
setObjectClass
Sets a default class for objects in this collection; null resets the class to nothing.- Parameters:
aClass
- the class
-
setInternalClass
Sets the internal class for the given path in the document hierarchy- Parameters:
path
- the path to map the given Class toaClass
- the Class to map the given path to
-
toString
-
initializeOrderedBulkOperation
Creates a builder for an ordered bulk write operation, consisting of an ordered collection of write requests, which can be any combination of inserts, updates, replaces, or removes. Write requests included in the bulk operations will be executed in order, and will halt on the first failure.
Note: While this bulk write operation will execute on MongoDB 2.4 servers and below, the writes will be performed one at a time, as that is the only way to preserve the semantics of the value returned from execution or the exception thrown.
Note: While a bulk write operation with a mix of inserts, updates, replaces, and removes is supported, the implementation will batch up consecutive requests of the same type and send them to the server one at a time. For example, if a bulk write operation consists of 10 inserts followed by 5 updates, followed by 10 more inserts, it will result in three round trips to the server.
- Returns:
- the builder
- Since:
- 2.12
- MongoDB documentation
- initializeOrderedBulkOp()
-
initializeUnorderedBulkOperation
Creates a builder for an unordered bulk operation, consisting of an unordered collection of write requests, which can be any combination of inserts, updates, replaces, or removes. Write requests included in the bulk operation will be executed in an undefined order, and all requests will be executed even if some fail.
Note: While this bulk write operation will execute on MongoDB 2.4 servers and below, the writes will be performed one at a time, as that is the only way to preserve the semantics of the value returned from execution or the exception thrown.
- Returns:
- the builder
- Since:
- 2.12
- MongoDB documentation
- initializeUnorderedBulkOp()
-