1 00:00:02,150 --> 00:00:09,260 So what is the aggregation framework? The aggregation framework in its core is just an alternative to 2 00:00:09,260 --> 00:00:15,950 the find method you could say. You have your collection and now the aggregation framework is all about 3 00:00:15,950 --> 00:00:22,940 building a pipeline of steps that runs on the data that is retrieved from your collection and then gives 4 00:00:22,940 --> 00:00:25,400 you the output in the form you needed 5 00:00:25,700 --> 00:00:30,860 and these steps are sometimes related to what you know from find, match 6 00:00:30,890 --> 00:00:37,370 for example here is the equivalent to filtering in the find method, it allows to filter down your results 7 00:00:37,970 --> 00:00:41,590 and you get a lot of different steps you can combine as you want. 8 00:00:41,600 --> 00:00:43,940 You can reuse certain stages, 9 00:00:43,940 --> 00:00:51,220 for example you could match again later too to filter your already transformed data a bit more and therefore 10 00:00:51,620 --> 00:00:55,810 you have a very powerful way of modeling your data transformation. 11 00:00:56,270 --> 00:01:01,760 Every stage here in this pipeline receives the output of the previous stage and therefore, you can have 12 00:01:01,760 --> 00:01:08,390 a very structured way of having some input data and then slowly modifying it in the way you need it 13 00:01:08,390 --> 00:01:09,230 in the end. 14 00:01:09,680 --> 00:01:16,910 Now in this module, we'll have a look at a lot of stages of the aggregation pipeline and that is just 15 00:01:16,970 --> 00:01:21,440 what this aggregation framework gives you, this pipeline you will build. Now we'll build this pipeline 16 00:01:21,450 --> 00:01:24,230 together, no worries I'll show you in detail how it works 17 00:01:24,350 --> 00:01:28,610 and as you can see in the official docs, there are loads of different stages you can have, 18 00:01:28,610 --> 00:01:32,090 so these are basically all stages you can combine in the pipeline. 19 00:01:32,330 --> 00:01:37,150 Now I'll dive into a lot of them in this module but it's impossible to cover all of them, 20 00:01:37,250 --> 00:01:42,860 so I strongly encourage you to also go ahead and dive into these docs on your own and play around with 21 00:01:42,860 --> 00:01:47,120 these steps, take some dummy data and simply see how you can transform it, 22 00:01:47,120 --> 00:01:51,160 this is the best way of then learning more about the aggregation framework. 23 00:01:51,320 --> 00:01:57,140 But of course, let's now first get started and let's understand how exactly the aggregation pipeline 24 00:01:57,140 --> 00:01:57,880 works.