MongoDB C++ Driver
mongocxx-3.7.0
|
Class representing server side document groupings within a MongoDB database. More...
#include <collection.hpp>
Public Member Functions | |
collection () noexcept | |
Default constructs a collection object. More... | |
collection (collection &&) noexcept | |
Move constructs a collection. | |
collection & | operator= (collection &&) noexcept |
Move assigns a collection. | |
collection (const collection &) | |
Copy constructs a collection. | |
collection & | operator= (const collection &) |
Copy assigns a collection. | |
~collection () | |
Destroys a collection. | |
operator bool () const noexcept | |
Returns true if the collection is valid, meaning it was not default constructed or moved from. | |
stdx::string_view | name () const |
Returns the name of this collection. More... | |
void | rename (bsoncxx::string::view_or_value new_name, bool drop_target_before_rename=false, const bsoncxx::stdx::optional< write_concern > &write_concern={}) |
Rename this collection. More... | |
void | rename (const client_session &session, bsoncxx::string::view_or_value new_name, bool drop_target_before_rename=false, const bsoncxx::stdx::optional< write_concern > &write_concern={}) |
Rename this collection. More... | |
void | read_concern (class read_concern rc) |
Sets the read_concern for this collection. More... | |
class read_concern | read_concern () const |
Gets the read_concern for the collection. More... | |
void | read_preference (class read_preference rp) |
Sets the read_preference for this collection. More... | |
class read_preference | read_preference () const |
Gets the read_preference for the collection. More... | |
void | write_concern (class write_concern wc) |
Sets the write_concern for this collection. More... | |
class write_concern | write_concern () const |
Gets the write_concern for the collection. More... | |
index_view | indexes () |
Gets an index_view to the collection. | |
cursor | aggregate (const pipeline &pipeline, const options::aggregate &options=options::aggregate()) |
Runs an aggregation framework pipeline against this collection. More... | |
cursor | aggregate (const client_session &session, const pipeline &pipeline, const options::aggregate &options=options::aggregate()) |
Runs an aggregation framework pipeline against this collection. More... | |
class bulk_write | create_bulk_write (const options::bulk_write &options={}) |
Creates a new bulk operation to be executed against this collection. More... | |
class bulk_write | create_bulk_write (const client_session &session, const options::bulk_write &options={}) |
Creates a new bulk operation to be executed against this collection. More... | |
stdx::optional< result::bulk_write > | write (const model::write &write, const options::bulk_write &options=options::bulk_write()) |
Sends a write to the server as a bulk write operation. More... | |
stdx::optional< result::bulk_write > | write (const client_session &session, const model::write &write, const options::bulk_write &options=options::bulk_write()) |
Sends a write to the server as a bulk write operation. More... | |
template<typename container_type > | |
stdx::optional< result::bulk_write > | bulk_write (const container_type &writes, const options::bulk_write &options=options::bulk_write()) |
Sends a container of writes to the server as a bulk write operation. More... | |
template<typename container_type > | |
stdx::optional< result::bulk_write > | bulk_write (const client_session &session, const container_type &writes, const options::bulk_write &options=options::bulk_write()) |
Sends a container of writes to the server as a bulk write operation. More... | |
template<typename write_model_iterator_type > | |
stdx::optional< result::bulk_write > | bulk_write (write_model_iterator_type begin, write_model_iterator_type end, const options::bulk_write &options=options::bulk_write()) |
Sends writes starting at begin and ending at end to the server as a bulk write operation. More... | |
template<typename write_model_iterator_type > | |
stdx::optional< result::bulk_write > | bulk_write (const client_session &session, write_model_iterator_type begin, write_model_iterator_type end, const options::bulk_write &options=options::bulk_write()) |
Sends writes starting at begin and ending at end to the server as a bulk write operation. More... | |
std::int64_t | count_documents (bsoncxx::document::view_or_value filter, const options::count &options=options::count()) |
Counts the number of documents matching the provided filter. More... | |
std::int64_t | count_documents (const client_session &session, bsoncxx::document::view_or_value filter, const options::count &options=options::count()) |
Counts the number of documents matching the provided filter. More... | |
std::int64_t | estimated_document_count (const options::estimated_document_count &options=options::estimated_document_count()) |
Returns an estimate of the number of documents in the collection. More... | |
bsoncxx::document::value | create_index (bsoncxx::document::view_or_value keys, bsoncxx::document::view_or_value index_options={}, options::index_view operation_options=options::index_view{}) |
Creates an index over the collection for the provided keys with the provided options. More... | |
bsoncxx::document::value | create_index (const client_session &session, bsoncxx::document::view_or_value keys, bsoncxx::document::view_or_value index_options={}, options::index_view operation_options=options::index_view{}) |
Creates an index over the collection for the provided keys with the provided options. More... | |
stdx::optional< result::delete_result > | delete_many (bsoncxx::document::view_or_value filter, const options::delete_options &options=options::delete_options()) |
Deletes all matching documents from the collection. More... | |
stdx::optional< result::delete_result > | delete_many (const client_session &session, bsoncxx::document::view_or_value filter, const options::delete_options &options=options::delete_options()) |
Deletes all matching documents from the collection. More... | |
stdx::optional< result::delete_result > | delete_one (bsoncxx::document::view_or_value filter, const options::delete_options &options=options::delete_options()) |
Deletes a single matching document from the collection. More... | |
stdx::optional< result::delete_result > | delete_one (const client_session &session, bsoncxx::document::view_or_value filter, const options::delete_options &options=options::delete_options()) |
Deletes a single matching document from the collection. More... | |
cursor | distinct (bsoncxx::string::view_or_value name, bsoncxx::document::view_or_value filter, const options::distinct &options=options::distinct()) |
Finds the distinct values for a specified field across the collection. More... | |
cursor | distinct (const client_session &session, bsoncxx::string::view_or_value name, bsoncxx::document::view_or_value filter, const options::distinct &options=options::distinct()) |
Finds the distinct values for a specified field across the collection. More... | |
void | drop (const bsoncxx::stdx::optional< mongocxx::write_concern > &write_concern={}) |
Drops this collection and all its contained documents from the database. More... | |
void | drop (const client_session &session, const bsoncxx::stdx::optional< mongocxx::write_concern > &write_concern={}) |
Drops this collection and all its contained documents from the database. More... | |
cursor | find (bsoncxx::document::view_or_value filter, const options::find &options=options::find()) |
Finds the documents in this collection which match the provided filter. More... | |
cursor | find (const client_session &session, bsoncxx::document::view_or_value filter, const options::find &options=options::find()) |
Finds the documents in this collection which match the provided filter. More... | |
stdx::optional< bsoncxx::document::value > | find_one (bsoncxx::document::view_or_value filter, const options::find &options=options::find()) |
Finds a single document in this collection that match the provided filter. More... | |
stdx::optional< bsoncxx::document::value > | find_one (const client_session &session, bsoncxx::document::view_or_value filter, const options::find &options=options::find()) |
Finds a single document in this collection that match the provided filter. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_delete (bsoncxx::document::view_or_value filter, const options::find_one_and_delete &options=options::find_one_and_delete()) |
Finds a single document matching the filter, deletes it, and returns the original. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_delete (const client_session &session, bsoncxx::document::view_or_value filter, const options::find_one_and_delete &options=options::find_one_and_delete()) |
Finds a single document matching the filter, deletes it, and returns the original. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_replace (bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value replacement, const options::find_one_and_replace &options=options::find_one_and_replace()) |
Finds a single document matching the filter, replaces it, and returns either the original or the replacement document. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_replace (const client_session &session, bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value replacement, const options::find_one_and_replace &options=options::find_one_and_replace()) |
Finds a single document matching the filter, replaces it, and returns either the original or the replacement document. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_update (bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value update, const options::find_one_and_update &options=options::find_one_and_update()) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_update (bsoncxx::document::view_or_value filter, const pipeline &update, const options::find_one_and_update &options=options::find_one_and_update()) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_update (bsoncxx::document::view_or_value filter, std::initializer_list< _empty_doc_tag > update, const options::find_one_and_update &options=options::find_one_and_update()) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_update (const client_session &session, bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value update, const options::find_one_and_update &options=options::find_one_and_update()) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_update (const client_session &session, bsoncxx::document::view_or_value filter, const pipeline &update, const options::find_one_and_update &options=options::find_one_and_update()) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document. More... | |
stdx::optional< bsoncxx::document::value > | find_one_and_update (const client_session &session, bsoncxx::document::view_or_value filter, std::initializer_list< _empty_doc_tag > update, const options::find_one_and_update &options=options::find_one_and_update()) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document. More... | |
stdx::optional< result::insert_one > | insert_one (bsoncxx::document::view_or_value document, const options::insert &options={}) |
Inserts a single document into the collection. More... | |
stdx::optional< result::insert_one > | insert_one (const client_session &session, bsoncxx::document::view_or_value document, const options::insert &options={}) |
Inserts a single document into the collection. More... | |
template<typename container_type > | |
stdx::optional< result::insert_many > | insert_many (const container_type &container, const options::insert &options=options::insert()) |
Inserts multiple documents into the collection. More... | |
template<typename container_type > | |
stdx::optional< result::insert_many > | insert_many (const client_session &session, const container_type &container, const options::insert &options=options::insert()) |
Inserts multiple documents into the collection. More... | |
template<typename document_view_iterator_type > | |
stdx::optional< result::insert_many > | insert_many (document_view_iterator_type begin, document_view_iterator_type end, const options::insert &options=options::insert()) |
Inserts multiple documents into the collection. More... | |
template<typename document_view_iterator_type > | |
stdx::optional< result::insert_many > | insert_many (const client_session &session, document_view_iterator_type begin, document_view_iterator_type end, const options::insert &options=options::insert()) |
Inserts multiple documents into the collection. More... | |
cursor | list_indexes () const |
Returns a list of the indexes currently on this collection. More... | |
cursor | list_indexes (const client_session &session) const |
Returns a list of the indexes currently on this collection. More... | |
stdx::optional< result::replace_one > | replace_one (bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value replacement, const options::replace &options=options::replace{}) |
Replaces a single document matching the provided filter in this collection. More... | |
stdx::optional< result::replace_one > | replace_one (const client_session &session, bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value replacement, const options::replace &options=options::replace{}) |
Replaces a single document matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_many (bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value update, const options::update &options=options::update()) |
Updates multiple documents matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_many (bsoncxx::document::view_or_value filter, const pipeline &update, const options::update &options=options::update()) |
Updates multiple documents matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_many (bsoncxx::document::view_or_value filter, std::initializer_list< _empty_doc_tag > update, const options::update &options=options::update()) |
Updates multiple documents matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_many (const client_session &session, bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value update, const options::update &options=options::update()) |
Updates multiple documents matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_many (const client_session &session, bsoncxx::document::view_or_value filter, const pipeline &update, const options::update &options=options::update()) |
Updates multiple documents matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_many (const client_session &session, bsoncxx::document::view_or_value filter, std::initializer_list< _empty_doc_tag > update, const options::update &options=options::update()) |
Updates multiple documents matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_one (bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value update, const options::update &options=options::update()) |
Updates a single document matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_one (bsoncxx::document::view_or_value filter, const pipeline &update, const options::update &options=options::update()) |
Updates a single document matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_one (bsoncxx::document::view_or_value filter, std::initializer_list< _empty_doc_tag > update, const options::update &options=options::update()) |
Updates a single document matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_one (const client_session &session, bsoncxx::document::view_or_value filter, bsoncxx::document::view_or_value update, const options::update &options=options::update()) |
Updates a single document matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_one (const client_session &session, bsoncxx::document::view_or_value filter, const pipeline &update, const options::update &options=options::update()) |
Updates a single document matching the provided filter in this collection. More... | |
stdx::optional< result::update > | update_one (const client_session &session, bsoncxx::document::view_or_value filter, std::initializer_list< _empty_doc_tag > update, const options::update &options=options::update()) |
Updates a single document matching the provided filter in this collection. More... | |
change_stream | watch (const options::change_stream &options={}) |
Gets a change stream on this collection with an empty pipeline. More... | |
change_stream | watch (const client_session &session, const options::change_stream &options={}) |
change_stream | watch (const pipeline &pipe, const options::change_stream &options={}) |
Gets a change stream on this collection. More... | |
change_stream | watch (const client_session &session, const pipeline &pipe, const options::change_stream &options={}) |
Gets a change stream on this collection. More... | |
Class representing server side document groupings within a MongoDB database.
Collections do not require or enforce a schema and documents inside of a collection can have different fields. While not a requirement, typically documents in a collection have a similar shape or related purpose.
Example:
|
noexcept |
Default constructs a collection object.
The collection is equivalent to the state of a moved from collection. The only valid actions to take with a default constructed collection are to assign to it, or destroy it.
cursor mongocxx::collection::aggregate | ( | const client_session & | session, |
const pipeline & | pipeline, | ||
const options::aggregate & | options = options::aggregate() |
||
) |
Runs an aggregation framework pipeline against this collection.
session | The mongocxx::client_session with which to perform the aggregation. |
pipeline | The pipeline of aggregation operations to perform. |
options | Optional arguments, see mongocxx::options::aggregate. |
cursor mongocxx::collection::aggregate | ( | const pipeline & | pipeline, |
const options::aggregate & | options = options::aggregate() |
||
) |
Runs an aggregation framework pipeline against this collection.
pipeline | The pipeline of aggregation operations to perform. |
options | Optional arguments, see mongocxx::options::aggregate. |
stdx::optional< result::bulk_write > mongocxx::collection::bulk_write | ( | const client_session & | session, |
const container_type & | writes, | ||
const options::bulk_write & | options = options::bulk_write() |
||
) |
Sends a container of writes to the server as a bulk write operation.
container_type | The container type. Must meet the requirements for the container concept with a value type of model::write. |
session | The mongocxx::client_session with which to perform the bulk operation. |
writes | A container of model::write. |
options | Optional arguments, see options::bulk_write. |
mongocxx::bulk_write_exception | when there are errors processing the writes. |
stdx::optional< result::bulk_write > mongocxx::collection::bulk_write | ( | const client_session & | session, |
write_model_iterator_type | begin, | ||
write_model_iterator_type | end, | ||
const options::bulk_write & | options = options::bulk_write() |
||
) |
Sends writes starting at begin
and ending at end
to the server as a bulk write operation.
write_model_iterator_type | The container type. Must meet the requirements for the input iterator concept with a value type of model::write. |
session | The mongocxx::client_session with which to perform the bulk operation. |
begin | Iterator pointing to the first model::write to send. |
end | Iterator pointing to the end of the writes to send. |
options | Optional arguments, see options::bulk_write. |
mongocxx::bulk_write_exception | when there are errors processing the writes. |
stdx::optional< result::bulk_write > mongocxx::collection::bulk_write | ( | const container_type & | writes, |
const options::bulk_write & | options = options::bulk_write() |
||
) |
Sends a container of writes to the server as a bulk write operation.
container_type | The container type. Must meet the requirements for the container concept with a value type of model::write. |
writes | A container of model::write. |
options | Optional arguments, see options::bulk_write. |
mongocxx::bulk_write_exception | when there are errors processing the writes. |
stdx::optional< result::bulk_write > mongocxx::collection::bulk_write | ( | write_model_iterator_type | begin, |
write_model_iterator_type | end, | ||
const options::bulk_write & | options = options::bulk_write() |
||
) |
Sends writes starting at begin
and ending at end
to the server as a bulk write operation.
write_model_iterator_type | The container type. Must meet the requirements for the input iterator concept with a value type of model::write. |
begin | Iterator pointing to the first model::write to send. |
end | Iterator pointing to the end of the writes to send. |
options | Optional arguments, see options::bulk_write. |
mongocxx::bulk_write_exception | when there are errors processing the writes. |
std::int64_t mongocxx::collection::count_documents | ( | bsoncxx::document::view_or_value | filter, |
const options::count & | options = options::count() |
||
) |
Counts the number of documents matching the provided filter.
filter | The filter that documents must match in order to be counted. |
options | Optional arguments, see mongocxx::options::count. |
mongocxx::query_exception | if the count operation fails. |
count
command was not included in Stable API v1. Users of the Stable API with estimatedDocumentCount are recommended to upgrade their server version to 5.0.8 or newer, or set apiStrict: false
to avoid encountering errors.std::int64_t mongocxx::collection::count_documents | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
const options::count & | options = options::count() |
||
) |
Counts the number of documents matching the provided filter.
session | The mongocxx::client_session with which to perform the count. |
filter | The filter that documents must match in order to be counted. |
options | Optional arguments, see mongocxx::options::count. |
mongocxx::query_exception | if the count operation fails. |
count
command was not included in Stable API v1. Users of the Stable API with estimatedDocumentCount are recommended to upgrade their server version to 5.0.8 or newer, or set apiStrict: false
to avoid encountering errors.class bulk_write mongocxx::collection::create_bulk_write | ( | const client_session & | session, |
const options::bulk_write & | options = {} |
||
) |
Creates a new bulk operation to be executed against this collection.
The lifetime of the bulk_write is independent of the collection.
session | The mongocxx::client_session with which to perform the bulk operation. |
options | Optional arguments; see mongocxx::options::bulk_write. |
class bulk_write mongocxx::collection::create_bulk_write | ( | const options::bulk_write & | options = {} | ) |
Creates a new bulk operation to be executed against this collection.
The lifetime of the bulk_write is independent of the collection.
options | Optional arguments; see mongocxx::options::bulk_write. |
bsoncxx::document::value mongocxx::collection::create_index | ( | bsoncxx::document::view_or_value | keys, |
bsoncxx::document::view_or_value | index_options = {} , |
||
options::index_view | operation_options = options::index_view{} |
||
) |
Creates an index over the collection for the provided keys with the provided options.
keys | The keys for the index: {a: 1, b: -1} |
index_options | A document containing optional arguments for creating the index. |
operation_options | Optional arguments for the overall operation, see mongocxx::options::index_view. |
mongocxx::operation_exception | if index creation fails. |
bsoncxx::document::value mongocxx::collection::create_index | ( | const client_session & | session, |
bsoncxx::document::view_or_value | keys, | ||
bsoncxx::document::view_or_value | index_options = {} , |
||
options::index_view | operation_options = options::index_view{} |
||
) |
Creates an index over the collection for the provided keys with the provided options.
session | The mongocxx::client_session with which to perform the index creation. |
keys | The keys for the index: {a: 1, b: -1} |
index_options | A document containing optional arguments for creating the index. |
operation_options | Optional arguments for the overall operation, see mongocxx::options::index_view. |
mongocxx::operation_exception | if index creation fails. |
stdx::optional<result::delete_result> mongocxx::collection::delete_many | ( | bsoncxx::document::view_or_value | filter, |
const options::delete_options & | options = options::delete_options() |
||
) |
Deletes all matching documents from the collection.
filter | Document view representing the data to be deleted. |
options | Optional arguments, see mongocxx::options::delete_options. |
mongocxx::bulk_write_exception | if the delete fails. |
stdx::optional<result::delete_result> mongocxx::collection::delete_many | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
const options::delete_options & | options = options::delete_options() |
||
) |
Deletes all matching documents from the collection.
session | The mongocxx::client_session with which to perform the deletion. |
filter | Document view representing the data to be deleted. |
options | Optional arguments, see mongocxx::options::delete_options. |
mongocxx::bulk_write_exception | if the delete fails. |
stdx::optional<result::delete_result> mongocxx::collection::delete_one | ( | bsoncxx::document::view_or_value | filter, |
const options::delete_options & | options = options::delete_options() |
||
) |
Deletes a single matching document from the collection.
filter | Document view representing the data to be deleted. |
options | Optional arguments, see mongocxx::options::delete_options. |
mongocxx::bulk_write_exception | if the delete fails. |
stdx::optional<result::delete_result> mongocxx::collection::delete_one | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
const options::delete_options & | options = options::delete_options() |
||
) |
Deletes a single matching document from the collection.
session | The mongocxx::client_session with which to perform the deletion. |
filter | Document view representing the data to be deleted. |
options | Optional arguments, see mongocxx::options::delete_options. |
mongocxx::bulk_write_exception | if the delete fails. |
cursor mongocxx::collection::distinct | ( | bsoncxx::string::view_or_value | name, |
bsoncxx::document::view_or_value | filter, | ||
const options::distinct & | options = options::distinct() |
||
) |
Finds the distinct values for a specified field across the collection.
name | The field for which the distinct values will be found. |
filter | Document view representing the documents for which the distinct operation will apply. |
options | Optional arguments, see options::distinct. |
cursor mongocxx::collection::distinct | ( | const client_session & | session, |
bsoncxx::string::view_or_value | name, | ||
bsoncxx::document::view_or_value | filter, | ||
const options::distinct & | options = options::distinct() |
||
) |
Finds the distinct values for a specified field across the collection.
session | The mongocxx::client_session with which to perform the operation. |
name | The field for which the distinct values will be found. |
filter | Document view representing the documents for which the distinct operation will apply. |
options | Optional arguments, see options::distinct. |
void mongocxx::collection::drop | ( | const bsoncxx::stdx::optional< mongocxx::write_concern > & | write_concern = {} | ) |
Drops this collection and all its contained documents from the database.
write_concern | (optional) The write concern to use for this operation. Defaults to the collection wide write concern if none is provided. |
mongocxx::operation_exception | if the operation fails. |
void mongocxx::collection::drop | ( | const client_session & | session, |
const bsoncxx::stdx::optional< mongocxx::write_concern > & | write_concern = {} |
||
) |
Drops this collection and all its contained documents from the database.
session | The mongocxx::client_session with which to perform the drop. |
write_concern | (optional) The write concern to use for this operation. Defaults to the collection wide write concern if none is provided. |
mongocxx::operation_exception | if the operation fails. |
std::int64_t mongocxx::collection::estimated_document_count | ( | const options::estimated_document_count & | options = options::estimated_document_count() | ) |
Returns an estimate of the number of documents in the collection.
options | Optional arguments, see mongocxx::options::count. |
mongocxx::query_exception | if the count operation fails. |
cursor mongocxx::collection::find | ( | bsoncxx::document::view_or_value | filter, |
const options::find & | options = options::find() |
||
) |
Finds the documents in this collection which match the provided filter.
filter | Document view representing a document that should match the query. |
options | Optional arguments, see options::find |
mongocxx::logic_error | if the options are invalid, or if the unsupported option modifiers "$query" or "$explain" are used. |
cursor mongocxx::collection::find | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
const options::find & | options = options::find() |
||
) |
Finds the documents in this collection which match the provided filter.
session | The mongocxx::client_session with which to perform the query. |
filter | Document view representing a document that should match the query. |
options | Optional arguments, see options::find |
mongocxx::logic_error | if the options are invalid, or if the unsupported option modifiers "$query" or "$explain" are used. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one | ( | bsoncxx::document::view_or_value | filter, |
const options::find & | options = options::find() |
||
) |
Finds a single document in this collection that match the provided filter.
filter | Document view representing a document that should match the query. |
options | Optional arguments, see options::find |
mongocxx::query_exception | if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
const options::find & | options = options::find() |
||
) |
Finds a single document in this collection that match the provided filter.
session | The mongocxx::client_session with which to perform the query. |
filter | Document view representing a document that should match the query. |
options | Optional arguments, see options::find |
mongocxx::query_exception | if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_delete | ( | bsoncxx::document::view_or_value | filter, |
const options::find_one_and_delete & | options = options::find_one_and_delete() |
||
) |
Finds a single document matching the filter, deletes it, and returns the original.
filter | Document view representing a document that should be deleted. |
options | Optional arguments, see options::find_one_and_delete |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_delete | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
const options::find_one_and_delete & | options = options::find_one_and_delete() |
||
) |
Finds a single document matching the filter, deletes it, and returns the original.
session | The mongocxx::client_session with which to perform the operation. |
filter | Document view representing a document that should be deleted. |
options | Optional arguments, see options::find_one_and_delete |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_replace | ( | bsoncxx::document::view_or_value | filter, |
bsoncxx::document::view_or_value | replacement, | ||
const options::find_one_and_replace & | options = options::find_one_and_replace() |
||
) |
Finds a single document matching the filter, replaces it, and returns either the original or the replacement document.
filter | Document view representing a document that should be replaced. |
replacement | Document view representing the replacement for a matching document. |
options | Optional arguments, see options::find_one_and_replace. |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_replace | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
bsoncxx::document::view_or_value | replacement, | ||
const options::find_one_and_replace & | options = options::find_one_and_replace() |
||
) |
Finds a single document matching the filter, replaces it, and returns either the original or the replacement document.
session | The mongocxx::client_session with which to perform the operation. |
filter | Document view representing a document that should be replaced. |
replacement | Document view representing the replacement for a matching document. |
options | Optional arguments, see options::find_one_and_replace. |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_update | ( | bsoncxx::document::view_or_value | filter, |
bsoncxx::document::view_or_value | update, | ||
const options::find_one_and_update & | options = options::find_one_and_update() |
||
) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document.
filter | Document view representing a document that should be updated. |
update | Document view representing the update to apply to a matching document. |
options | Optional arguments, see options::find_one_and_update. |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_update | ( | bsoncxx::document::view_or_value | filter, |
const pipeline & | update, | ||
const options::find_one_and_update & | options = options::find_one_and_update() |
||
) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document.
filter | Document view representing a document that should be updated. |
update | Pipeline representing the update to apply to a matching document. |
options | Optional arguments, see options::find_one_and_update. |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_update | ( | bsoncxx::document::view_or_value | filter, |
std::initializer_list< _empty_doc_tag > | update, | ||
const options::find_one_and_update & | options = options::find_one_and_update() |
||
) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document.
filter | Document view representing a document that should be updated. |
update | Supports the empty update {}. |
options | Optional arguments, see options::find_one_and_update. |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_update | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
bsoncxx::document::view_or_value | update, | ||
const options::find_one_and_update & | options = options::find_one_and_update() |
||
) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document.
session | The mongocxx::client_session with which to perform the operation. |
filter | Document view representing a document that should be updated. |
update | Document view representing the update to apply to a matching document. |
options | Optional arguments, see options::find_one_and_update. |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_update | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
const pipeline & | update, | ||
const options::find_one_and_update & | options = options::find_one_and_update() |
||
) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document.
session | The mongocxx::client_session with which to perform the operation. |
filter | Document view representing a document that should be updated. |
update | Pipeline representing the update to apply to a matching document. |
options | Optional arguments, see options::find_one_and_update. |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional<bsoncxx::document::value> mongocxx::collection::find_one_and_update | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
std::initializer_list< _empty_doc_tag > | update, | ||
const options::find_one_and_update & | options = options::find_one_and_update() |
||
) |
Finds a single document matching the filter, updates it, and returns either the original or the newly-updated document.
session | The mongocxx::client_session with which to perform the operation. |
filter | Document view representing a document that should be updated. |
update | Supports the empty update {}. |
options | Optional arguments, see options::find_one_and_update. |
Throws | mongocxx::logic_error if the collation option is specified and an unacknowledged write concern is used. |
Throws | mongocxx::write_exception if the operation fails. |
stdx::optional< result::insert_many > mongocxx::collection::insert_many | ( | const client_session & | session, |
const container_type & | container, | ||
const options::insert & | options = options::insert() |
||
) |
Inserts multiple documents into the collection.
If any of the documents are missing identifiers the driver will generate them.
container_type | The container type. Must meet the requirements for the container concept with a value type of model::write. |
session | The mongocxx::client_session with which to perform the inserts. |
container | Container of a documents to insert. |
options | Optional arguments, see options::insert. |
mongocxx::bulk_write_exception | when the operation fails. |
stdx::optional< result::insert_many > mongocxx::collection::insert_many | ( | const client_session & | session, |
document_view_iterator_type | begin, | ||
document_view_iterator_type | end, | ||
const options::insert & | options = options::insert() |
||
) |
Inserts multiple documents into the collection.
If any of the documents are missing identifiers the driver will generate them.
document_view_iterator_type | The iterator type. Must meet the requirements for the input iterator concept with a value type of bsoncxx::document::view. |
session | The mongocxx::client_session with which to perform the inserts. |
begin | Iterator pointing to the first document to be inserted. |
end | Iterator pointing to the end of the documents to be inserted. |
options | Optional arguments, see options::insert. |
mongocxx::bulk_write_exception | if the operation fails. |
stdx::optional< result::insert_many > mongocxx::collection::insert_many | ( | const container_type & | container, |
const options::insert & | options = options::insert() |
||
) |
Inserts multiple documents into the collection.
If any of the documents are missing identifiers the driver will generate them.
container_type | The container type. Must meet the requirements for the container concept with a value type of model::write. |
container | Container of a documents to insert. |
options | Optional arguments, see options::insert. |
mongocxx::bulk_write_exception | when the operation fails. |
stdx::optional< result::insert_many > mongocxx::collection::insert_many | ( | document_view_iterator_type | begin, |
document_view_iterator_type | end, | ||
const options::insert & | options = options::insert() |
||
) |
Inserts multiple documents into the collection.
If any of the documents are missing identifiers the driver will generate them.
document_view_iterator_type | The iterator type. Must meet the requirements for the input iterator concept with a value type of bsoncxx::document::view. |
begin | Iterator pointing to the first document to be inserted. |
end | Iterator pointing to the end of the documents to be inserted. |
options | Optional arguments, see options::insert. |
mongocxx::bulk_write_exception | if the operation fails. |
stdx::optional<result::insert_one> mongocxx::collection::insert_one | ( | bsoncxx::document::view_or_value | document, |
const options::insert & | options = {} |
||
) |
Inserts a single document into the collection.
If the document is missing an identifier (_id
field) one will be generated for it.
document | The document to insert. |
options | Optional arguments, see options::insert. |
mongocxx::bulk_write_exception | if the operation fails. |
stdx::optional<result::insert_one> mongocxx::collection::insert_one | ( | const client_session & | session, |
bsoncxx::document::view_or_value | document, | ||
const options::insert & | options = {} |
||
) |
Inserts a single document into the collection.
If the document is missing an identifier (_id
field) one will be generated for it.
session | The mongocxx::client_session with which to perform the insert. |
document | The document to insert. |
options | Optional arguments, see options::insert. |
mongocxx::bulk_write_exception | if the operation fails. |
cursor mongocxx::collection::list_indexes | ( | ) | const |
Returns a list of the indexes currently on this collection.
mongocxx::operation_exception | if the operation fails. |
cursor mongocxx::collection::list_indexes | ( | const client_session & | session | ) | const |
Returns a list of the indexes currently on this collection.
session | The mongocxx::client_session with which to perform the operation. |
mongocxx::operation_exception | if the operation fails. |
stdx::string_view mongocxx::collection::name | ( | ) | const |
Returns the name of this collection.
class read_concern mongocxx::collection::read_concern | ( | ) | const |
Gets the read_concern for the collection.
If a read_concern has not been explicitly set for this collection object, it inherits the read_concern from its parent database or client object.
void mongocxx::collection::read_concern | ( | class read_concern | rc | ) |
Sets the read_concern for this collection.
Changes will not have any effect on existing cursors or other read operations which use the previously-set read concern.
rc | The new read_concern |
class read_preference mongocxx::collection::read_preference | ( | ) | const |
Gets the read_preference for the collection.
void mongocxx::collection::read_preference | ( | class read_preference | rp | ) |
Sets the read_preference for this collection.
Changes will not have any effect on existing cursors or other read operations which use the read preference.
rp | The read_preference to set. |
void mongocxx::collection::rename | ( | bsoncxx::string::view_or_value | new_name, |
bool | drop_target_before_rename = false , |
||
const bsoncxx::stdx::optional< write_concern > & | write_concern = {} |
||
) |
Rename this collection.
new_name | The new name to assign to the collection. |
drop_target_before_rename | Whether to overwrite any existing collections called new_name. The default is false. |
write_concern | (optional) The write concern to use for this operation. Defaults to the collection wide write concern if none is provided. |
mongocxx::operation_exception | if the operation fails. |
void mongocxx::collection::rename | ( | const client_session & | session, |
bsoncxx::string::view_or_value | new_name, | ||
bool | drop_target_before_rename = false , |
||
const bsoncxx::stdx::optional< write_concern > & | write_concern = {} |
||
) |
Rename this collection.
session | The mongocxx::client_session with which to perform the rename. |
new_name | The new name to assign to the collection. |
drop_target_before_rename | Whether to overwrite any existing collections called new_name. The default is false. |
write_concern | (optional) The write concern to use for this operation. Defaults to the collection wide write concern if none is provided. |
mongocxx::operation_exception | if the operation fails. |
stdx::optional<result::replace_one> mongocxx::collection::replace_one | ( | bsoncxx::document::view_or_value | filter, |
bsoncxx::document::view_or_value | replacement, | ||
const options::replace & | options = options::replace{} |
||
) |
Replaces a single document matching the provided filter in this collection.
filter | Document representing the match criteria. |
replacement | The replacement document. |
options | Optional arguments, see options::replace. |
mongocxx::logic_error | if the replacement is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::replace_one> mongocxx::collection::replace_one | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
bsoncxx::document::view_or_value | replacement, | ||
const options::replace & | options = options::replace{} |
||
) |
Replaces a single document matching the provided filter in this collection.
session | The mongocxx::client_session with which to perform the replace. |
filter | Document representing the match criteria. |
replacement | The replacement document. |
options | Optional arguments, see options::replace. |
mongocxx::logic_error | if the replacement is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_many | ( | bsoncxx::document::view_or_value | filter, |
bsoncxx::document::view_or_value | update, | ||
const options::update & | options = options::update() |
||
) |
Updates multiple documents matching the provided filter in this collection.
filter | Document representing the match criteria. |
update | Document representing the update to be applied to matching documents. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_many | ( | bsoncxx::document::view_or_value | filter, |
const pipeline & | update, | ||
const options::update & | options = options::update() |
||
) |
Updates multiple documents matching the provided filter in this collection.
filter | Document representing the match criteria. |
update | Pipeline representing the update to be applied to matching documents. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_many | ( | bsoncxx::document::view_or_value | filter, |
std::initializer_list< _empty_doc_tag > | update, | ||
const options::update & | options = options::update() |
||
) |
Updates multiple documents matching the provided filter in this collection.
filter | Document representing the match criteria. |
update | Supports the empty update {}. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_many | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
bsoncxx::document::view_or_value | update, | ||
const options::update & | options = options::update() |
||
) |
Updates multiple documents matching the provided filter in this collection.
session | The mongocxx::client_session with which to perform the update. |
filter | Document representing the match criteria. |
update | Document representing the update to be applied to matching documents. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_many | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
const pipeline & | update, | ||
const options::update & | options = options::update() |
||
) |
Updates multiple documents matching the provided filter in this collection.
session | The mongocxx::client_session with which to perform the update. |
filter | Document representing the match criteria. |
update | Pipeline representing the update to be applied to matching documents. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_many | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
std::initializer_list< _empty_doc_tag > | update, | ||
const options::update & | options = options::update() |
||
) |
Updates multiple documents matching the provided filter in this collection.
session | The mongocxx::client_session with which to perform the update. |
filter | Document representing the match criteria. |
update | Supports the empty update {}. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_one | ( | bsoncxx::document::view_or_value | filter, |
bsoncxx::document::view_or_value | update, | ||
const options::update & | options = options::update() |
||
) |
Updates a single document matching the provided filter in this collection.
filter | Document representing the match criteria. |
update | Document representing the update to be applied to a matching document. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_one | ( | bsoncxx::document::view_or_value | filter, |
const pipeline & | update, | ||
const options::update & | options = options::update() |
||
) |
Updates a single document matching the provided filter in this collection.
filter | Document representing the match criteria. |
update | Pipeline representing the update to be applied to a matching document. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_one | ( | bsoncxx::document::view_or_value | filter, |
std::initializer_list< _empty_doc_tag > | update, | ||
const options::update & | options = options::update() |
||
) |
Updates a single document matching the provided filter in this collection.
filter | Document representing the match criteria. |
update | Supports the empty update {}. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_one | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
bsoncxx::document::view_or_value | update, | ||
const options::update & | options = options::update() |
||
) |
Updates a single document matching the provided filter in this collection.
session | The mongocxx::client_session with which to perform the update. |
filter | Document representing the match criteria. |
update | Document representing the update to be applied to a matching document. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_one | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
const pipeline & | update, | ||
const options::update & | options = options::update() |
||
) |
Updates a single document matching the provided filter in this collection.
session | The mongocxx::client_session with which to perform the update. |
filter | Document representing the match criteria. |
update | Pipeline representing the update to be applied to a matching document. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
stdx::optional<result::update> mongocxx::collection::update_one | ( | const client_session & | session, |
bsoncxx::document::view_or_value | filter, | ||
std::initializer_list< _empty_doc_tag > | update, | ||
const options::update & | options = options::update() |
||
) |
Updates a single document matching the provided filter in this collection.
session | The mongocxx::client_session with which to perform the update. |
filter | Document representing the match criteria. |
update | Supports the empty update {}. |
options | Optional arguments, see options::update. |
mongocxx::logic_error | if the update is invalid, or mongocxx::bulk_write_exception if the operation fails. |
change_stream mongocxx::collection::watch | ( | const client_session & | session, |
const options::change_stream & | options = {} |
||
) |
session | The mongocxx::client_session with which to perform the watch operation. |
options | The options to use when creating the change stream. |
change_stream mongocxx::collection::watch | ( | const client_session & | session, |
const pipeline & | pipe, | ||
const options::change_stream & | options = {} |
||
) |
Gets a change stream on this collection.
session | The mongocxx::client_session with which to perform the watch operation. |
pipe | The aggregation pipeline to be used on the change notifications. |
options | The options to use when creating the change stream. |
change_stream mongocxx::collection::watch | ( | const options::change_stream & | options = {} | ) |
Gets a change stream on this collection with an empty pipeline.
Change streams are only supported with a "majority" read concern or no read concern.
options | The options to use when creating the change stream. |
change_stream mongocxx::collection::watch | ( | const pipeline & | pipe, |
const options::change_stream & | options = {} |
||
) |
Gets a change stream on this collection.
Change streams are only supported with a "majority" read concern or no read concern.
pipe | The aggregation pipeline to be used on the change notifications. Only a subset of pipeline operations are supported for change streams. For more information see the change streams documentation. |
options | The options to use when creating the change stream. |
stdx::optional< result::bulk_write > mongocxx::collection::write | ( | const client_session & | session, |
const model::write & | write, | ||
const options::bulk_write & | options = options::bulk_write() |
||
) |
Sends a write to the server as a bulk write operation.
session | The mongocxx::client_session with which to perform the bulk operation. |
write | A model::write. |
options | Optional arguments, see options::bulk_write. |
mongocxx::bulk_write_exception | when there are errors processing the writes. |
stdx::optional< result::bulk_write > mongocxx::collection::write | ( | const model::write & | write, |
const options::bulk_write & | options = options::bulk_write() |
||
) |
Sends a write to the server as a bulk write operation.
write | A model::write. |
options | Optional arguments, see options::bulk_write. |
mongocxx::bulk_write_exception | when there are errors processing the writes. |
class write_concern mongocxx::collection::write_concern | ( | ) | const |
Gets the write_concern for the collection.
void mongocxx::collection::write_concern | ( | class write_concern | wc | ) |
Sets the write_concern for this collection.
Changes will not have any effect on existing write operations.
wc | The new write_concern to use. |