Interface CoreRemoteMongoCollection<DocumentT>
-
- All Known Implementing Classes:
CoreRemoteMongoCollectionImpl
public interface CoreRemoteMongoCollection<DocumentT>
-
-
Method Summary
Modifier and Type Method Description CoreRemoteAggregateIterable<DocumentT>
aggregate(List<? extends Bson> pipeline)
Aggregates documents according to the specified aggregation pipeline.<ResultT> CoreRemoteAggregateIterable<ResultT>
aggregate(List<? extends Bson> pipeline, Class<ResultT> resultClass)
Aggregates documents according to the specified aggregation pipeline.long
count()
Counts the number of documents in the collection.long
count(Bson filter)
Counts the number of documents in the collection according to the given options.long
count(Bson filter, RemoteCountOptions options)
Counts the number of documents in the collection according to the given options.RemoteDeleteResult
deleteMany(Bson filter)
Removes all documents from the collection that match the given query filter.RemoteDeleteResult
deleteOne(Bson filter)
Removes at most one document from the collection that matches the given filter.CoreRemoteFindIterable<DocumentT>
find()
Finds all documents in the collection.<ResultT> CoreRemoteFindIterable<ResultT>
find(Class<ResultT> resultClass)
Finds all documents in the collection.CoreRemoteFindIterable<DocumentT>
find(Bson filter)
Finds all documents in the collection.<ResultT> CoreRemoteFindIterable<ResultT>
find(Bson filter, Class<ResultT> resultClass)
Finds all documents in the collection.DocumentT
findOne()
Finds a document in the collection<ResultT> ResultT
findOne(Class<ResultT> resultClass)
Finds a document in the collection.DocumentT
findOne(Bson filter)
Finds a document in the collection.DocumentT
findOne(Bson filter, RemoteFindOptions options)
Finds a document in the collection.<ResultT> ResultT
findOne(Bson filter, RemoteFindOptions options, Class<ResultT> resultClass)
Finds a document in the collection.<ResultT> ResultT
findOne(Bson filter, Class<ResultT> resultClass)
Finds a document in the collection.DocumentT
findOneAndDelete(Bson filter)
Finds a document in the collection and delete it.DocumentT
findOneAndDelete(Bson filter, RemoteFindOneAndModifyOptions options)
Finds a document in the collection and delete it.<ResultT> ResultT
findOneAndDelete(Bson filter, RemoteFindOneAndModifyOptions options, Class<ResultT> resultClass)
Finds a document in the collection and delete it.<ResultT> ResultT
findOneAndDelete(Bson filter, Class<ResultT> resultClass)
Finds a document in the collection and delete it.DocumentT
findOneAndReplace(Bson filter, Bson replacement)
Finds a document in the collection and replaces it with the given documentDocumentT
findOneAndReplace(Bson filter, Bson replacement, RemoteFindOneAndModifyOptions options)
Finds a document in the collection and replaces it with the given document<ResultT> ResultT
findOneAndReplace(Bson filter, Bson replacement, RemoteFindOneAndModifyOptions options, Class<ResultT> resultClass)
Finds a document in the collection and replaces it with the given document<ResultT> ResultT
findOneAndReplace(Bson filter, Bson replacement, Class<ResultT> resultClass)
Finds a document in the collection and replaces it with the given documentDocumentT
findOneAndUpdate(Bson filter, Bson update)
Finds a document in the collection and performs the given update.DocumentT
findOneAndUpdate(Bson filter, Bson update, RemoteFindOneAndModifyOptions options)
Finds a document in the collection and performs the given update.<ResultT> ResultT
findOneAndUpdate(Bson filter, Bson update, RemoteFindOneAndModifyOptions options, Class<ResultT> resultClass)
Finds a document in the collection and performs the given update.<ResultT> ResultT
findOneAndUpdate(Bson filter, Bson update, Class<ResultT> resultClass)
Finds a document in the collection and performs the given update.CodecRegistry
getCodecRegistry()
Get the codec registry for the CoreRemoteMongoCollection.Class<DocumentT>
getDocumentClass()
Get the class of documents stored in this collection.MongoNamespace
getNamespace()
Gets the namespace of this collection.RemoteInsertManyResult
insertMany(List<? extends DocumentT> documents)
Inserts one or more documents.RemoteInsertOneResult
insertOne(DocumentT document)
Inserts the provided document.CoreSync<DocumentT>
sync()
A set of synchronization related operations at the collection level.RemoteUpdateResult
updateMany(Bson filter, Bson update)
Update all documents in the collection according to the specified arguments.RemoteUpdateResult
updateMany(Bson filter, Bson update, RemoteUpdateOptions updateOptions)
Update all documents in the collection according to the specified arguments.RemoteUpdateResult
updateOne(Bson filter, Bson update)
Update a single document in the collection according to the specified arguments.RemoteUpdateResult
updateOne(Bson filter, Bson update, RemoteUpdateOptions updateOptions)
Update a single document in the collection according to the specified arguments.Stream<ChangeEvent<DocumentT>>
watch()
Watches a collection.Stream<ChangeEvent<DocumentT>>
watch(BsonValue... ids)
Watches specified IDs in a collection.Stream<ChangeEvent<DocumentT>>
watch(ObjectId... ids)
Watches specified IDs in a collection.Stream<CompactChangeEvent<DocumentT>>
watchCompact(BsonValue... ids)
Watches specified IDs in a collection.Stream<CompactChangeEvent<DocumentT>>
watchCompact(ObjectId... ids)
Watches specified IDs in a collection.Stream<ChangeEvent<DocumentT>>
watchWithFilter(BsonDocument matchFilter)
Watches a collection.CoreRemoteMongoCollection<DocumentT>
withCodecRegistry(CodecRegistry codecRegistry)
Create a new CoreRemoteMongoCollection instance with a different codec registry.<NewDocumentT>
CoreRemoteMongoCollection<NewDocumentT>withDocumentClass(Class<NewDocumentT> clazz)
Create a new CoreRemoteMongoCollection instance with a different default class to cast any documents returned from the database into.
-
-
-
Method Detail
-
getNamespace
MongoNamespace getNamespace()
Gets the namespace of this collection.- Returns:
- the namespace
-
getDocumentClass
Class<DocumentT> getDocumentClass()
Get the class of documents stored in this collection.- Returns:
- the class
-
getCodecRegistry
CodecRegistry getCodecRegistry()
Get the codec registry for the CoreRemoteMongoCollection.- Returns:
- the
CodecRegistry
-
withDocumentClass
<NewDocumentT> CoreRemoteMongoCollection<NewDocumentT> withDocumentClass(Class<NewDocumentT> clazz)
Create a new CoreRemoteMongoCollection instance with a different default class to cast any documents returned from the database into.- Type Parameters:
NewDocumentT
- the type that the new collection will encode documents from and decode documents to.- Parameters:
clazz
- the default class to cast any documents returned from the database into.- Returns:
- a new CoreRemoteMongoCollection instance with the different default class
-
withCodecRegistry
CoreRemoteMongoCollection<DocumentT> withCodecRegistry(CodecRegistry codecRegistry)
Create a new CoreRemoteMongoCollection instance with a different codec registry.- Parameters:
codecRegistry
- the newCodecRegistry
for the collection.- Returns:
- a new CoreRemoteMongoCollection instance with the different codec registry
-
count
long count()
Counts the number of documents in the collection.- Returns:
- the number of documents in the collection
-
count
long count(Bson filter)
Counts the number of documents in the collection according to the given options.- Parameters:
filter
- the query filter- Returns:
- the number of documents in the collection
-
count
long count(Bson filter, RemoteCountOptions options)
Counts the number of documents in the collection according to the given options.- Parameters:
filter
- the query filteroptions
- the options describing the count- Returns:
- the number of documents in the collection
-
findOne
DocumentT findOne()
Finds a document in the collection- Returns:
- the resulting document
-
findOne
<ResultT> ResultT findOne(Class<ResultT> resultClass)
Finds a document in the collection.- Type Parameters:
ResultT
- the target document type- Parameters:
resultClass
- the class to decode each document into- Returns:
- the resulting document
-
findOne
DocumentT findOne(Bson filter)
Finds a document in the collection.- Parameters:
filter
- the query filter- Returns:
- the resulting document
-
findOne
<ResultT> ResultT findOne(Bson filter, Class<ResultT> resultClass)
Finds a document in the collection.- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
filter
- the query filterresultClass
- the class to decode each document into- Returns:
- the resulting document
-
findOne
DocumentT findOne(Bson filter, RemoteFindOptions options)
Finds a document in the collection.- Parameters:
filter
- the query filteroptions
- A RemoteFindOptions struct- Returns:
- the resulting document
-
findOne
<ResultT> ResultT findOne(Bson filter, RemoteFindOptions options, Class<ResultT> resultClass)
Finds a document in the collection.- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
filter
- the query filteroptions
- A RemoteFindOptions structresultClass
- the class to decode each document into- Returns:
- the resulting document
-
find
CoreRemoteFindIterable<DocumentT> find()
Finds all documents in the collection.- Returns:
- the find iterable interface
-
find
<ResultT> CoreRemoteFindIterable<ResultT> find(Class<ResultT> resultClass)
Finds all documents in the collection.- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
resultClass
- the class to decode each document into- Returns:
- the find iterable interface
-
find
CoreRemoteFindIterable<DocumentT> find(Bson filter)
Finds all documents in the collection.- Parameters:
filter
- the query filter- Returns:
- the find iterable interface
-
find
<ResultT> CoreRemoteFindIterable<ResultT> find(Bson filter, Class<ResultT> resultClass)
Finds all documents in the collection.- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
filter
- the query filterresultClass
- the class to decode each document into- Returns:
- the find iterable interface
-
aggregate
CoreRemoteAggregateIterable<DocumentT> aggregate(List<? extends Bson> pipeline)
Aggregates documents according to the specified aggregation pipeline.- Parameters:
pipeline
- the aggregation pipeline- Returns:
- an iterable containing the result of the aggregation operation
-
aggregate
<ResultT> CoreRemoteAggregateIterable<ResultT> aggregate(List<? extends Bson> pipeline, Class<ResultT> resultClass)
Aggregates documents according to the specified aggregation pipeline.- Type Parameters:
ResultT
- 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
-
insertOne
RemoteInsertOneResult insertOne(DocumentT document)
Inserts the provided document. If the document is missing an identifier, the client should generate one.- Parameters:
document
- the document to insert- Returns:
- the result of the insert one operation
-
insertMany
RemoteInsertManyResult insertMany(List<? extends DocumentT> documents)
Inserts one or more documents.- Parameters:
documents
- the documents to insert- Returns:
- the result of the insert many operation
-
deleteOne
RemoteDeleteResult deleteOne(Bson filter)
Removes at most one document from the collection that matches the given filter. If no documents match, the collection is not modified.- Parameters:
filter
- the query filter to apply the the delete operation- Returns:
- the result of the remove one operation
-
deleteMany
RemoteDeleteResult deleteMany(Bson filter)
Removes all documents from the collection that match the given query filter. If no documents match, the collection is not modified.- Parameters:
filter
- the query filter to apply the the delete operation- Returns:
- the result of the remove many operation
-
updateOne
RemoteUpdateResult updateOne(Bson filter, Bson update)
Update a single document in the collection according to the specified arguments.- Parameters:
filter
- a document describing the query filter, which may not be null.update
- a document describing the update, which may not be null. The update to apply must include only update operators.- Returns:
- the result of the update one operation
-
updateOne
RemoteUpdateResult updateOne(Bson filter, Bson update, RemoteUpdateOptions updateOptions)
Update a single document in the collection according to the specified arguments.- Parameters:
filter
- a document describing the query filter, which may not be null.update
- a document describing the update, which may not be null. The update to apply must include only update operators.updateOptions
- the options to apply to the update operation- Returns:
- the result of the update one operation
-
updateMany
RemoteUpdateResult updateMany(Bson filter, Bson update)
Update all documents in the collection according to the specified arguments.- Parameters:
filter
- a document describing the query filter, which may not be null.update
- a document describing the update, which may not be null. The update to apply must include only update operators.- Returns:
- the result of the update many operation
-
updateMany
RemoteUpdateResult updateMany(Bson filter, Bson update, RemoteUpdateOptions updateOptions)
Update all documents in the collection according to the specified arguments.- Parameters:
filter
- a document describing the query filter, which may not be null.update
- a document describing the update, which may not be null. The update to apply must include only update operators.updateOptions
- the options to apply to the update operation- Returns:
- the result of the update many operation
-
findOneAndUpdate
DocumentT findOneAndUpdate(Bson filter, Bson update)
Finds a document in the collection and performs the given update.- Parameters:
filter
- the query filterupdate
- the update document- Returns:
- the resulting document
-
findOneAndUpdate
<ResultT> ResultT findOneAndUpdate(Bson filter, Bson update, Class<ResultT> resultClass)
Finds a document in the collection and performs the given update.- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
filter
- the query filterupdate
- the update documentresultClass
- the class to decode each document into- Returns:
- the resulting document
-
findOneAndUpdate
DocumentT findOneAndUpdate(Bson filter, Bson update, RemoteFindOneAndModifyOptions options)
Finds a document in the collection and performs the given update.- Parameters:
filter
- the query filterupdate
- the update documentoptions
- A RemoteFindOneAndModifyOptions struct- Returns:
- the resulting document
-
findOneAndUpdate
<ResultT> ResultT findOneAndUpdate(Bson filter, Bson update, RemoteFindOneAndModifyOptions options, Class<ResultT> resultClass)
Finds a document in the collection and performs the given update.- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
filter
- the query filterupdate
- the update documentoptions
- A RemoteFindOneAndModifyOptions structresultClass
- the class to decode each document into- Returns:
- the resulting document
-
findOneAndReplace
DocumentT findOneAndReplace(Bson filter, Bson replacement)
Finds a document in the collection and replaces it with the given document- Parameters:
filter
- the query filterreplacement
- the document to replace the matched document with- Returns:
- the resulting document
-
findOneAndReplace
<ResultT> ResultT findOneAndReplace(Bson filter, Bson replacement, Class<ResultT> resultClass)
Finds a document in the collection and replaces it with the given document- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
filter
- the query filterreplacement
- the document to replace the matched document withresultClass
- the class to decode each document into- Returns:
- the resulting document
-
findOneAndReplace
DocumentT findOneAndReplace(Bson filter, Bson replacement, RemoteFindOneAndModifyOptions options)
Finds a document in the collection and replaces it with the given document- Parameters:
filter
- the query filterreplacement
- the document to replace the matched document withoptions
- A RemoteFindOneAndModifyOptions struct- Returns:
- the resulting document
-
findOneAndReplace
<ResultT> ResultT findOneAndReplace(Bson filter, Bson replacement, RemoteFindOneAndModifyOptions options, Class<ResultT> resultClass)
Finds a document in the collection and replaces it with the given document- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
filter
- the query filterreplacement
- the document to replace the matched document withoptions
- A RemoteFindOneAndModifyOptions structresultClass
- the class to decode each document into- Returns:
- the resulting document
-
findOneAndDelete
DocumentT findOneAndDelete(Bson filter)
Finds a document in the collection and delete it.- Parameters:
filter
- the query filter- Returns:
- the resulting document
-
findOneAndDelete
<ResultT> ResultT findOneAndDelete(Bson filter, Class<ResultT> resultClass)
Finds a document in the collection and delete it.- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
filter
- the query filterresultClass
- the class to decode each document into- Returns:
- the resulting document
-
findOneAndDelete
DocumentT findOneAndDelete(Bson filter, RemoteFindOneAndModifyOptions options)
Finds a document in the collection and delete it.- Parameters:
filter
- the query filteroptions
- A RemoteFindOneAndModifyOptions struct- Returns:
- the resulting document
-
findOneAndDelete
<ResultT> ResultT findOneAndDelete(Bson filter, RemoteFindOneAndModifyOptions options, Class<ResultT> resultClass)
Finds a document in the collection and delete it.- Type Parameters:
ResultT
- the target document type of the iterable.- Parameters:
filter
- the query filteroptions
- A RemoteFindOneAndModifyOptions structresultClass
- the class to decode each document into- Returns:
- the resulting document
-
watch
Stream<ChangeEvent<DocumentT>> watch() throws InterruptedException, IOException
Watches a collection. The resulting stream will be notified of all events on this collection that the active user is authorized to see based on the configured MongoDB rules.- Returns:
- the stream of change events.
- Throws:
InterruptedException
IOException
-
watch
Stream<ChangeEvent<DocumentT>> watch(ObjectId... ids) throws InterruptedException, IOException
Watches specified IDs in a collection. This convenience overload supports the use case of non-BsonValue
instances ofObjectId
.- Parameters:
ids
- unique object identifiers of the IDs to watch.- Returns:
- the stream of change events.
- Throws:
InterruptedException
IOException
-
watch
Stream<ChangeEvent<DocumentT>> watch(BsonValue... ids) throws InterruptedException, IOException
Watches specified IDs in a collection.- Parameters:
ids
- the ids to watch.- Returns:
- the stream of change events.
- Throws:
InterruptedException
IOException
-
watchWithFilter
Stream<ChangeEvent<DocumentT>> watchWithFilter(BsonDocument matchFilter) throws InterruptedException, IOException
Watches a collection. The provided BSON document will be used as a match expression filter on the change events coming from the stream. See https://docs.mongodb.com/manual/reference/operator/aggregation/match/ for documentation around how to define a match filter. Defining the match expression to filter ChangeEvents is similar to defining the match expression for triggers: https://docs.mongodb.com/stitch/triggers/database-triggers/- Returns:
- the stream of change events.
- Throws:
InterruptedException
IOException
-
watchCompact
Stream<CompactChangeEvent<DocumentT>> watchCompact(ObjectId... ids) throws InterruptedException, IOException
Watches specified IDs in a collection. Requests a stream where the full document of update events, and several other unnecessary fields are omitted from the change event objects returned by the server. This can save on network usage when watching large documents This convenience overload supports the use case of non-BsonValue
instances ofObjectId
by wrapping them inBsonObjectId
instances for the user.- Parameters:
ids
- unique object identifiers of the IDs to watch.- Returns:
- the stream of change events.
- Throws:
InterruptedException
IOException
-
watchCompact
Stream<CompactChangeEvent<DocumentT>> watchCompact(BsonValue... ids) throws InterruptedException, IOException
Watches specified IDs in a collection. Requests a stream where the full document of update events, and several other unnecessary fields are omitted from the change event objects returned by the server. This can save on network usage when watching large documents- Parameters:
ids
- the ids to watch.- Returns:
- the stream of change events.
- Throws:
InterruptedException
IOException
-
-