Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Mastering MongoDB 7.0 - Fourth Edition

You're reading from  Mastering MongoDB 7.0 - Fourth Edition

Product type Book
Published in Jan 2024
Publisher Packt
ISBN-13 9781835460474
Pages 434 pages
Edition 4th Edition
Languages
Concepts
Authors (7):
Marko Aleksendrić Marko Aleksendrić
Profile icon Marko Aleksendrić
Arek Borucki Arek Borucki
Profile icon Arek Borucki
Leandro Domingues Leandro Domingues
Profile icon Leandro Domingues
Malak Abu Hammad Malak Abu Hammad
Profile icon Malak Abu Hammad
Elie Hannouch Elie Hannouch
Profile icon Elie Hannouch
Rajesh Nair Rajesh Nair
Profile icon Rajesh Nair
Rachelle Palmer Rachelle Palmer
Profile icon Rachelle Palmer
View More author details

Table of Contents (20) Chapters

Preface Chapter 1: Introduction to MongoDB Chapter 2: The MongoDB Architecture Chapter 3: Developer Tools Chapter 4: Connecting to MongoDB Chapter 5: CRUD Operations and Basic Queries Chapter 6: Schema Design and Data Modeling Chapter 7: Advanced Querying in MongoDB Chapter 8: Aggregation Chapter 9: Multi-Document ACID Transactions Chapter 10: Index Optimization Chapter 11: MongoDB Atlas: Powering the Future of Developer Data Platforms Chapter 12: Monitoring and Backup in MongoDB Chapter 13: Introduction to Atlas Search Chapter 14: Integrating Applications with MongoDB Chapter 15: Security Chapter 16: Auditing Chapter 17: Encryption Index Other Books You May Enjoy

Aggregation

Aggregations in MongoDB are operations consisting of several steps that process multiple documents and return computed results. Aggregations are built around the concept of pipelines, through which data flows are gradually processed. In a pipeline, the output from the current processing unit is fed as input to the next unit (similar to chaining commands in Linux or a data-wrangling script in Python). In a pipeline, at each stage, a set of documents is fed to the processing unit's input and the output is fed to the following unit. This process ultimately provides solutions to potentially complex problems by breaking them down into smaller and simpler stages.

In this chapter, you will dive deeper into some of the more interesting and useful features of the MongoDB aggregation framework.

This chapter will cover the following topics:

  • The purpose of the MongoDB aggregation framework
  • Principles of aggregation and aggregation stages
  • Basic aggregation...

Technical requirements

To perform the exercises covered in this chapter, you will need the following:

  • A computer running macOS, Windows, or Linux
  • MongoDB Compass – the GUI MongoDB client
  • A MongoDB Atlas account

Connect to your Atlas account and enable the sample datasets that ship with Atlas. For instructions on connecting to your MongoDB database, please refer to Chapter 4, Connecting to MongoDB.

If you prefer the GUI tool, make sure to also download MongoDB Compass from the MongoDB website: https://www.mongodb.com/try/download/compass.

Now that you have your system set up, you are ready to begin exploring the MongoDB aggregation framework.

MongoDB aggregation framework

The MongoDB aggregation framework allows you to fine tune and process complex data on the server, drastically reducing the amount of data that is transferred to the application for further processing. The aggregation framework is an incredibly powerful data processing workhorse that enables you to:

  • Handle custom data presentations through views
  • Join data from different collections
  • Perform data science tasks, such as data wrangling and analysis
  • Handle big data
  • Run real-time analytics, monitor data, and create dashboards

MongoDB is centered around the concept that data should be easily retrievable and accessible to fit your application. As shown in Chapter 7, Advanced Querying in MongoDB, the querying framework—with its tunable parameters—is powerful. However, it may not always provide the precise data in the required shape or format. It may also lack the accompanying descriptive statistics that are frequently...

Basic aggregation operators

At this point, you should be familiar with the basic MongoDB stages used for querying ($match, $limit, $search, $sample, $skip, $sort, etc.), mutating ($fill, $project, $set, $unset, and others), summarizing ($group, $count, etc.), joining, and performing input/output operations on documents.

For a quick refresher, the MongoDB documentation provides an excellent starting point: https://www.mongodb.com/docs/v7.0/reference/operator/aggregation/.

Bitwise operators in aggregation

One of the new features in MongoDB 7.0 is the introduction of bitwise operators in aggregations. Bitwise operators are especially useful in cases where documents have a lot of bit-mask values (such as status, permission settings, or general settings).

There are four operators that allow developers to create aggregations based on bit-mask values:

  • $bitAnd: Returns the result of a bitwise and operation on an array of integers or long values
  • $bitOr: Returns the result...

Best practices

Writing and specifying good aggregations takes practice, and throughout this chapter, you have focused on some useful principles. The aggregation pipeline is a sequential set of stages, and it encourages high composability and modularity. Here are some best practices that you can keep in mind when using MongoDB aggregations:

Code modularity

No matter how complex an aggregation gets, it can and should always be broken down into simple, understandable stages that can be tested in isolation, reducing the cognitive load on the developer. If you're using Compass for prototyping your aggregations, there is an option for turning down certain stages without removing them. If you're coding in an editor, it's easier if the stages are separated, with an option to toggle the comments. The Visual Studio Code extension, introduced earlier in this book, is an excellent tool for debugging, analyzing, and synthesizing aggregation pipelines.

Finally, with JavaScript...

Summary

In this chapter, you delved deeply into the aggregation framework, exploring the possibilities and understanding how various stages and expression operators can be employed to tackle a wide range of problems.

You learned about aggregation stages and operators, examining real-life databases from Atlas that effectively demonstrate essential functionalities. The chapter included valuable tips and suggestions designed to make you proficient as quickly as possible, with a focus on practical and advanced functionalities.

In the next chapter, you will see how MongoDB handles multi-document ACID transactions, and the significance this concept has in sectors with strict requirements, such as finance, fintech, and mission-critical applications.

lock icon The rest of the chapter is locked
You have been reading a chapter from
Mastering MongoDB 7.0 - Fourth Edition
Published in: Jan 2024 Publisher: Packt ISBN-13: 9781835460474
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}