@@ -5,18 +5,18 @@ Transform Your Data with Aggregation
55====================================
66
77.. facet::
8- :name: genre
9- :values: reference
8+ :name: genre
9+ :values: reference
1010
1111.. meta::
12- :keywords: code example, transform, computed, pipeline
13- :description: Learn how to use the PHP library to perform aggregation operations.
12+ :keywords: code example, transform, computed, pipeline
13+ :description: Learn how to use the PHP library to perform aggregation operations.
1414
1515.. contents:: On this page
16- :local:
17- :backlinks: none
18- :depth: 2
19- :class: singlecol
16+ :local:
17+ :backlinks: none
18+ :depth: 2
19+ :class: singlecol
2020
2121.. toctree::
2222 :titlesonly:
@@ -70,29 +70,29 @@ Limitations
7070Consider the following limitations when performing aggregation operations:
7171
7272- Returned documents cannot violate the
73- :manual:`BSON document size limit </reference/limits/#mongodb-limit-BSON-Document-Size>`
74- of 16 megabytes.
73+ :manual:`BSON document size limit </reference/limits/#mongodb-limit-BSON-Document-Size>`
74+ of 16 megabytes.
7575- Pipeline stages have a memory limit of 100 megabytes by default. You can exceed this
76- limit by creating an options array that sets the ``allowDiskUse`` option to ``true``
77- and passing the array to the ``MongoDB\Collection::aggregate()`` method.
76+ limit by creating an options array that sets the ``allowDiskUse`` option to ``true``
77+ and passing the array to the ``MongoDB\Collection::aggregate()`` method.
7878
79- .. important:: $graphLookup Exception
79+ .. important:: $graphLookup Exception
8080
81- The :manual:`$graphLookup
82- </reference/operator/aggregation/graphLookup/>` stage has a strict
83- memory limit of 100 megabytes and ignores the ``allowDiskUse`` option.
81+ The :manual:`$graphLookup
82+ </reference/operator/aggregation/graphLookup/>` stage has a strict
83+ memory limit of 100 megabytes and ignores the ``allowDiskUse`` option.
8484
8585.. _php-aggregation-example:
8686
8787Aggregation Example
8888-------------------
8989
9090.. note::
91-
92- The examples in this guide use the ``restaurants`` collection in the ``sample_restaurants``
93- database from the :atlas:`Atlas sample datasets </sample-data>`. To learn how to create a
94- free MongoDB Atlas cluster and load the sample datasets, see the :atlas:`Get Started with Atlas
95- </getting-started>` guide.
91+
92+ The examples in this guide use the ``restaurants`` collection in the ``sample_restaurants``
93+ database from the :atlas:`Atlas sample datasets </sample-data>`. To learn how to create a
94+ free MongoDB Atlas cluster and load the sample datasets, see the :atlas:`Get Started with Atlas
95+ </getting-started>` guide.
9696
9797To perform an aggregation, pass an array containing the pipeline stages to
9898the ``MongoDB\Collection::aggregate()`` method.
@@ -101,30 +101,30 @@ The following code example produces a count of the number of bakeries in each bo
101101of New York. To do so, it uses an aggregation pipeline that contains the following stages:
102102
103103- :manual:`$match </reference/operator/aggregation/match/>` stage to filter for documents
104- in which the ``cuisine`` field contains the value ``'Bakery'``
104+ in which the ``cuisine`` field contains the value ``'Bakery'``
105105
106106- :manual:`$group </reference/operator/aggregation/group/>` stage to group the matching
107- documents by the ``borough`` field, accumulating a count of documents for each distinct
108- value
107+ documents by the ``borough`` field, accumulating a count of documents for each distinct
108+ value
109109
110110.. io-code-block::
111- :copyable:
111+ :copyable:
112112
113- .. input:: /includes/aggregation.php
114- :start-after: start-match-group
115- :end-before: end-match-group
116- :language: php
117- :dedent:
113+ .. input:: /includes/aggregation /aggregation.php
114+ :start-after: start-match-group
115+ :end-before: end-match-group
116+ :language: php
117+ :dedent:
118118
119- .. output::
120- :visible: false
119+ .. output::
120+ :visible: false
121121
122- {"_id":"Brooklyn","count":173}
123- {"_id":"Queens","count":204}
124- {"_id":"Bronx","count":71}
125- {"_id":"Staten Island","count":20}
126- {"_id":"Missing","count":2}
127- {"_id":"Manhattan","count":221}
122+ {"_id":"Brooklyn","count":173}
123+ {"_id":"Queens","count":204}
124+ {"_id":"Bronx","count":71}
125+ {"_id":"Staten Island","count":20}
126+ {"_id":"Missing","count":2}
127+ {"_id":"Manhattan","count":221}
128128
129129Explain an Aggregation
130130~~~~~~~~~~~~~~~~~~~~~~
@@ -144,22 +144,22 @@ The following example instructs MongoDB to explain the aggregation operation
144144from the preceding :ref:`php-aggregation-example`:
145145
146146.. io-code-block::
147- :copyable:
147+ :copyable:
148148
149- .. input:: /includes/aggregation.php
150- :start-after: start-explain
151- :end-before: end-explain
152- :language: php
153- :dedent:
149+ .. input:: /includes/aggregation /aggregation.php
150+ :start-after: start-explain
151+ :end-before: end-explain
152+ :language: php
153+ :dedent:
154154
155- .. output::
156- :visible: false
155+ .. output::
156+ :visible: false
157157
158- {"explainVersion":"2","queryPlanner":{"namespace":"sample_restaurants.restaurants",
159- "indexFilterSet":false,"parsedQuery":{"cuisine":{"$eq":"Bakery"}},"queryHash":"865F14C3",
160- "planCacheKey":"D56D6F10","optimizedPipeline":true,"maxIndexedOrSolutionsReached":false,
161- "maxIndexedAndSolutionsReached":false,"maxScansToExplodeReached":false,"winningPlan":{
162- ... }
158+ {"explainVersion":"2","queryPlanner":{"namespace":"sample_restaurants.restaurants",
159+ "indexFilterSet":false,"parsedQuery":{"cuisine":{"$eq":"Bakery"}},"queryHash":"865F14C3",
160+ "planCacheKey":"D56D6F10","optimizedPipeline":true,"maxIndexedOrSolutionsReached":false,
161+ "maxIndexedAndSolutionsReached":false,"maxScansToExplodeReached":false,"winningPlan":{
162+ ... }
163163
164164Additional Information
165165----------------------
@@ -176,17 +176,17 @@ To learn more about the topics discussed in this guide, see the following
176176pages in the {+mdb-server+} manual:
177177
178178- To view a full list of expression operators, see :manual:`Aggregation
179- Operators </reference/operator/aggregation/>`.
179+ Operators </reference/operator/aggregation/>`.
180180
181181- To learn about assembling an aggregation pipeline and to view examples, see
182- :manual:`Aggregation Pipeline </core/aggregation-pipeline/>`.
182+ :manual:`Aggregation Pipeline </core/aggregation-pipeline/>`.
183183
184184- To learn more about creating pipeline stages, see :manual:`Aggregation
185- Stages </reference/operator/aggregation-pipeline/>`.
185+ Stages </reference/operator/aggregation-pipeline/>`.
186186
187187- To learn more about explaining MongoDB operations, see
188- :manual:`Explain Output </reference/explain-results/>` and
189- :manual:`Query Plans </core/query-plans/>`.
188+ :manual:`Explain Output </reference/explain-results/>` and
189+ :manual:`Query Plans </core/query-plans/>`.
190190
191191Atlas Search and Vector Search
192192~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0 commit comments