The MongoDB Query Language has many operators, or functions, that allow you to manipulate and transform your data to fit your application’s use case. Operators such as $avg , $concat , and $filter make it easy for developers to query, manipulate, and transform their dataset directly at the database level versus having to write additional code and transforming the data elsewhere. While there are operators for almost anything you can think of, there are a few edge cases where a provided operator or series of operators won’t be sufficient, and that’s where custom aggregation expressions come in.
In this blog post, we’ll learn how we can extend the MongoDB Query Language to suit our needs by writing our own custom aggregation expressions using the new $function and $accumulator operators. Let’s dive in!