In this chapter, we dived deep into aggregation framework. We discussed why and when we should use aggregation as opposed to MapReduce and querying the database. We went through the vast array of options and functionality for aggregation.
We discussed aggregation stages and various operators such as Boolean operators, comparison operators, set operators, array operators, date operators, string operators, expression arithmetic operators, aggregation accumulators, conditional expressions and variables, and the literal and parsing data type operators
Using the Ethereum use case, we went through aggregation with working code and how to approach an engineering problem to solve it.
Finally, you learned about the limitation that the aggregation framework currently has and when to avoid it.
In the next chapter, we will switch gears to the topic of indexing and how to design and...