MongoDB C++ Driver mongocxx-3.11.0
Loading...
Searching...
No Matches
mongocxx::v_noabi::pipeline Class Reference

#include <mongocxx/v_noabi/mongocxx/pipeline.hpp>

Description

Class representing a MongoDB aggregation pipeline.

Public Member Functions

 pipeline ()
 Creates a new aggregation pipeline.
 
 pipeline (pipeline &&) noexcept
 Move constructs a pipeline.
 
 ~pipeline ()
 Destroys a pipeline.
 
pipelineadd_fields (bsoncxx::v_noabi::document::view_or_value fields_to_add)
 Adds new fields to documents.
 
pipelineappend_stage (bsoncxx::v_noabi::document::view_or_value stage)
 Appends a stage to this pipeline object.
 
pipelineappend_stages (bsoncxx::v_noabi::array::view_or_value stages)
 Appends stages to this pipeline object from the given bson array.
 
pipelinebucket (bsoncxx::v_noabi::document::view_or_value bucket_args)
 Categorizes documents into groups, called buckets, based on a specified expression and bucket boundaries.
 
pipelinebucket_auto (bsoncxx::v_noabi::document::view_or_value bucket_auto_args)
 Categorizes documents into a specific number of groups, called buckets, based on a specified expression. Bucket boundaries are automatically determined in an attempt to evenly distribute the documents into the specified number of buckets.
 
pipelinecoll_stats (bsoncxx::v_noabi::document::view_or_value coll_stats_args=bsoncxx::v_noabi::document::view{})
 Returns statistics regarding a collection or view.
 
pipelinecount (std::string field)
 Returns a document containing a count of the number of documents input to the stage.
 
pipelinecurrent_op (bsoncxx::v_noabi::document::view_or_value current_op_args)
 Returns a stream of documents containing information on active and/or dormant operations as well as inactive sessions that are holding locks as part of a transaction. The stage returns a document for each operation or session.
 
pipelinefacet (bsoncxx::v_noabi::document::view_or_value facet_args)
 Processes multiple aggregation pipelines within a single stage on the same set of input documents.
 
pipelinegeo_near (bsoncxx::v_noabi::document::view_or_value geo_near_args)
 Outputs documents in order of nearest to farthest from a specified point.
 
pipelinegraph_lookup (bsoncxx::v_noabi::document::view_or_value graph_lookup_args)
 Performs a recursive search on a collection.
 
pipelinegroup (bsoncxx::v_noabi::document::view_or_value group_args)
 Groups documents by some specified expression and outputs to the next stage a document for each distinct grouping. The output documents contain an _id field which contains the the distinct key for that group. The output documents can also contain computed fields that hold the values of some accumulator expression grouped by the group's _id field.
 
pipelineindex_stats ()
 Returns statistics regarding the use of each index for the collection.
 
pipelinelimit (std::int32_t limit)
 Limits the number of documents passed to the next stage in the pipeline.
 
pipelinelist_local_sessions (bsoncxx::v_noabi::document::view_or_value list_local_sessions_args)
 Lists the sessions cached in memory by the mongod or mongos instance.
 
pipelinelist_sessions (bsoncxx::v_noabi::document::view_or_value list_sessions_args)
 Lists all sessions stored in the system.sessions collection in the config database. These sessions are visible to all members of the MongoDB deployment.
 
pipelinelookup (bsoncxx::v_noabi::document::view_or_value lookup_args)
 Performs a left outer join to an unsharded collection in the same database to filter in documents from the "joined" collection for processing.
 
pipelinematch (bsoncxx::v_noabi::document::view_or_value filter)
 Filters the documents. Only the documents that match the condition(s) specified by the filter will continue to the next pipeline stage.
 
pipelinemerge (bsoncxx::v_noabi::document::view_or_value merge_args)
 Outputs the aggregation results to a collection.
 
pipelineoperator= (pipeline &&) noexcept
 Move assigns a pipeline.
 
pipelineout (std::string collection_name)
 Takes documents returned by the aggregation pipeline and writes them to a specified collection. This stage must be the last stage in the pipeline. The out operator lets the aggregation framework return result sets of any size.
 
pipelineproject (bsoncxx::v_noabi::document::view_or_value projection)
 Projects a subset of the fields in the documents to the next stage of the pipeline.
 
pipelineredact (bsoncxx::v_noabi::document::view_or_value restrictions)
 Restricts the contents of the documents based on information stored in the documents themselves.
 
pipelinereplace_root (bsoncxx::v_noabi::document::view_or_value replace_root_args)
 Promotes a specified document to the top level and replaces all other fields.
 
pipelinesample (std::int32_t size)
 Randomly selects the specified number of documents that pass into the stage and passes the remaining documents to the next stage in the pipeline.
 
pipelineskip (std::int32_t docs_to_skip)
 Skips over the specified number of documents that pass into the stage and passes the remaining documents to the next stage in the pipeline.
 
pipelinesort (bsoncxx::v_noabi::document::view_or_value ordering)
 Sorts all input documents and returns them to the pipeline in sorted order.
 
pipelinesort_by_count (bsoncxx::v_noabi::document::view_or_value field_expression)
 Groups incoming documents based on the value of a specified expression, then computes the count of documents in each distinct group.
 
pipelinesort_by_count (std::string field_expression)
 Groups incoming documents based on the value of a specified expression, then computes the count of documents in each distinct group.
 
pipelineunwind (bsoncxx::v_noabi::document::view_or_value unwind_args)
 Deconstructs an array field from the input documents to output a document for each element. Each output document is an input document with the value of its array field replaced by an element from the unwound array.
 
pipelineunwind (std::string field_name)
 Deconstructs an array field from the input documents to output a document for each element. Each output document is an input document with the value of its array field replaced by an element from the unwound array.
 
bsoncxx::v_noabi::array::view view_array () const
 

Constructor & Destructor Documentation

◆ pipeline() [1/2]

mongocxx::v_noabi::pipeline::pipeline ( )

Creates a new aggregation pipeline.

See also

◆ pipeline() [2/2]

mongocxx::v_noabi::pipeline::pipeline ( pipeline && )
noexcept

Move constructs a pipeline.

◆ ~pipeline()

mongocxx::v_noabi::pipeline::~pipeline ( )

Destroys a pipeline.

Member Function Documentation

◆ add_fields()

pipeline & mongocxx::v_noabi::pipeline::add_fields ( bsoncxx::v_noabi::document::view_or_value fields_to_add)

Adds new fields to documents.

See also
Parameters
fields_to_addA document specifying the fields to add. For each field specified in this parameter, a corresponding field will be added to the documents, where the value of the added field is the result of evaluating the specified expression.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ append_stage()

pipeline & mongocxx::v_noabi::pipeline::append_stage ( bsoncxx::v_noabi::document::view_or_value stage)

Appends a stage to this pipeline object.

Use this method to run new pipeline stages that are not yet offered as explicit methods on this class. Pass in a document describing a pipeline stage:

{ "$addFields" : { "field" : 0 }}

Parameters
stageA bson document view or value describing a pipeline stage.
Returns
A reference to this object on which this member function is being called.

◆ append_stages()

pipeline & mongocxx::v_noabi::pipeline::append_stages ( bsoncxx::v_noabi::array::view_or_value stages)

Appends stages to this pipeline object from the given bson array.

Use this method to run new pipeline stages that are not yet offered as explicit methods on this class. Pass in an array of documents, where each document in the array describes a pipeline stage:

[ { "$addFields" : { "field" : 0 } }, { "$newStage" : ... }, ... ]

Parameters
stagesA bson array containing documents describing pipeline stages.
Returns
A reference to the object on which this member function is being called.

◆ bucket()

pipeline & mongocxx::v_noabi::pipeline::bucket ( bsoncxx::v_noabi::document::view_or_value bucket_args)

Categorizes documents into groups, called buckets, based on a specified expression and bucket boundaries.

See also
Parameters
bucket_argsThe specification for the bucket operation. The required fields groupBy and boundaries must be included.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ bucket_auto()

pipeline & mongocxx::v_noabi::pipeline::bucket_auto ( bsoncxx::v_noabi::document::view_or_value bucket_auto_args)

Categorizes documents into a specific number of groups, called buckets, based on a specified expression. Bucket boundaries are automatically determined in an attempt to evenly distribute the documents into the specified number of buckets.

See also
Parameters
bucket_auto_argsThe specification for the bucket_auto operation. This required fields groupBy and buckets must be included.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ coll_stats()

pipeline & mongocxx::v_noabi::pipeline::coll_stats ( bsoncxx::v_noabi::document::view_or_value coll_stats_args = bsoncxx::v_noabi::document::view{})

Returns statistics regarding a collection or view.

See also
Parameters
coll_stats_argsThe specification for the coll_stats operation. See link above for a list of valid options.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ count()

pipeline & mongocxx::v_noabi::pipeline::count ( std::string field)

Returns a document containing a count of the number of documents input to the stage.

See also
Parameters
fieldName of the field for the count to be written to.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ current_op()

pipeline & mongocxx::v_noabi::pipeline::current_op ( bsoncxx::v_noabi::document::view_or_value current_op_args)

Returns a stream of documents containing information on active and/or dormant operations as well as inactive sessions that are holding locks as part of a transaction. The stage returns a document for each operation or session.

This stage must be used with database aggregate on the 'admin' database.

See also
Parameters
current_op_argsA document containing the arguments for the current_op operation.
Returns
A reference to the object on which this method is being called.

◆ facet()

pipeline & mongocxx::v_noabi::pipeline::facet ( bsoncxx::v_noabi::document::view_or_value facet_args)

Processes multiple aggregation pipelines within a single stage on the same set of input documents.

See also
Parameters
facet_argsThe specification for the facet operation. Each field in the the provided document should specify an aggregation pipeline, as an array.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ geo_near()

pipeline & mongocxx::v_noabi::pipeline::geo_near ( bsoncxx::v_noabi::document::view_or_value geo_near_args)

Outputs documents in order of nearest to farthest from a specified point.

See also
Parameters
geo_near_argsThe specification for the geo_near operation. The required fields near and distanceField must be included.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ graph_lookup()

pipeline & mongocxx::v_noabi::pipeline::graph_lookup ( bsoncxx::v_noabi::document::view_or_value graph_lookup_args)

Performs a recursive search on a collection.

See also
Parameters
graph_lookup_argsThe specification for the graph_lookup operation. The required fields from, connectFromField, startWith, connectToField, and as must be included.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ group()

pipeline & mongocxx::v_noabi::pipeline::group ( bsoncxx::v_noabi::document::view_or_value group_args)

Groups documents by some specified expression and outputs to the next stage a document for each distinct grouping. The output documents contain an _id field which contains the the distinct key for that group. The output documents can also contain computed fields that hold the values of some accumulator expression grouped by the group's _id field.

Note
group does not order output documents.
See also
Parameters
group_argsThe specification for the group operation. The required field _id must be included.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ index_stats()

pipeline & mongocxx::v_noabi::pipeline::index_stats ( )

Returns statistics regarding the use of each index for the collection.

Returns
A reference to the object on which this member function is being called. This facilitates method chaining.
See also

◆ limit()

pipeline & mongocxx::v_noabi::pipeline::limit ( std::int32_t limit)

Limits the number of documents passed to the next stage in the pipeline.

See also
Parameters
limitThe number of documents to which output should be limited.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ list_local_sessions()

pipeline & mongocxx::v_noabi::pipeline::list_local_sessions ( bsoncxx::v_noabi::document::view_or_value list_local_sessions_args)

Lists the sessions cached in memory by the mongod or mongos instance.

This option must be used with database aggregate.

See also
Parameters
list_local_sessions_argsA document containing the arguments for list_local_sessions.
Returns
A reference to the object on which this method is being called.

◆ list_sessions()

pipeline & mongocxx::v_noabi::pipeline::list_sessions ( bsoncxx::v_noabi::document::view_or_value list_sessions_args)

Lists all sessions stored in the system.sessions collection in the config database. These sessions are visible to all members of the MongoDB deployment.

See also
Parameters
list_sessions_argsA document containing the arguments for list_sessions.
Returns
A reference to the object on which this method is being called.

◆ lookup()

pipeline & mongocxx::v_noabi::pipeline::lookup ( bsoncxx::v_noabi::document::view_or_value lookup_args)

Performs a left outer join to an unsharded collection in the same database to filter in documents from the "joined" collection for processing.

See also
Parameters
lookup_argsThe specification for the lookup operation. The required fields from, localField, foreignField, and as must be included.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ match()

pipeline & mongocxx::v_noabi::pipeline::match ( bsoncxx::v_noabi::document::view_or_value filter)

Filters the documents. Only the documents that match the condition(s) specified by the filter will continue to the next pipeline stage.

See also
Parameters
filterThe filter.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ merge()

pipeline & mongocxx::v_noabi::pipeline::merge ( bsoncxx::v_noabi::document::view_or_value merge_args)

Outputs the aggregation results to a collection.

See also
Parameters
merge_argsThe specification for the merge options. Must include an into field that is either a collection name or a subdocument of the form: { db : <db name>, coll : <collection name> }.
Returns
A reference to the object on which this member function is being called.

◆ operator=()

pipeline & mongocxx::v_noabi::pipeline::operator= ( pipeline && )
noexcept

Move assigns a pipeline.

◆ out()

pipeline & mongocxx::v_noabi::pipeline::out ( std::string collection_name)

Takes documents returned by the aggregation pipeline and writes them to a specified collection. This stage must be the last stage in the pipeline. The out operator lets the aggregation framework return result sets of any size.

See also
Parameters
collection_nameThe name of the collection where the output documents should go.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ project()

pipeline & mongocxx::v_noabi::pipeline::project ( bsoncxx::v_noabi::document::view_or_value projection)

Projects a subset of the fields in the documents to the next stage of the pipeline.

See also
Parameters
projectionThe projection specification.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ redact()

pipeline & mongocxx::v_noabi::pipeline::redact ( bsoncxx::v_noabi::document::view_or_value restrictions)

Restricts the contents of the documents based on information stored in the documents themselves.

See also
Parameters
restrictionsThe document restrictions.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ replace_root()

pipeline & mongocxx::v_noabi::pipeline::replace_root ( bsoncxx::v_noabi::document::view_or_value replace_root_args)

Promotes a specified document to the top level and replaces all other fields.

See also
Parameters
replace_root_argsThe specification for the replace_root operation. The required field newRoot must be included.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ sample()

pipeline & mongocxx::v_noabi::pipeline::sample ( std::int32_t size)

Randomly selects the specified number of documents that pass into the stage and passes the remaining documents to the next stage in the pipeline.

See also
Parameters
sizeThe number of input documents to select.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ skip()

pipeline & mongocxx::v_noabi::pipeline::skip ( std::int32_t docs_to_skip)

Skips over the specified number of documents that pass into the stage and passes the remaining documents to the next stage in the pipeline.

See also
Parameters
docs_to_skipThe number of input documents to skip.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ sort()

pipeline & mongocxx::v_noabi::pipeline::sort ( bsoncxx::v_noabi::document::view_or_value ordering)

Sorts all input documents and returns them to the pipeline in sorted order.

See also
Parameters
orderingDocument specifying the ordering by which the documents are sorted.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.

◆ sort_by_count() [1/2]

pipeline & mongocxx::v_noabi::pipeline::sort_by_count ( bsoncxx::v_noabi::document::view_or_value field_expression)

Groups incoming documents based on the value of a specified expression, then computes the count of documents in each distinct group.

See also
Parameters
field_expressionThe expression to group by, as an object. The expression can not evaluate to an object.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.
Note
This overload of sort_by_count() is intended to be used when the desired sort is over a grouping of the result of a complex expression computed from the input documents.

◆ sort_by_count() [2/2]

pipeline & mongocxx::v_noabi::pipeline::sort_by_count ( std::string field_expression)

Groups incoming documents based on the value of a specified expression, then computes the count of documents in each distinct group.

See also
Parameters
field_expressionThe expression to group by, as a string. To specify a field path, prefix the field path with a dollar sign ($).
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.
Note
This overload of sort_by_count() is intended to be used when the desired sort is over a grouping of the value of a particular element in the input documents.

◆ unwind() [1/2]

pipeline & mongocxx::v_noabi::pipeline::unwind ( bsoncxx::v_noabi::document::view_or_value unwind_args)

Deconstructs an array field from the input documents to output a document for each element. Each output document is an input document with the value of its array field replaced by an element from the unwound array.

See also
Parameters
unwind_argsThe specification for the unwind operation. The required field path must be included.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.
Note
This overload of unwind() is intended to be used when additional options other than the field name need to be specified.

◆ unwind() [2/2]

pipeline & mongocxx::v_noabi::pipeline::unwind ( std::string field_name)

Deconstructs an array field from the input documents to output a document for each element. Each output document is an input document with the value of its array field replaced by an element from the unwound array.

See also
Parameters
field_nameThe name of the field to unwind.
Returns
A reference to the object on which this member function is being called. This facilitates method chaining.
Note
This overload of unwind() is intended to be used when no options other than the field name need to be specified.

◆ view_array()

bsoncxx::v_noabi::array::view mongocxx::v_noabi::pipeline::view_array ( ) const
Returns
A view of the underlying BSON array this pipeline represents.

The documentation for this class was generated from the following file: