
MongoDB $concat Operator

Photo Credit to CodeToFun
Introduction
In MongoDB's aggregation framework, the $concat
operator serves as a powerful tool for combining string values from multiple fields or literals into a single string. This operator enables users to manipulate and format textual data within aggregation pipelines, facilitating various data transformation and analysis tasks.
Let's delve into the details of how the $concat
operator functions and its applications within MongoDB's aggregation framework.
Syntax
The syntax for the $concat
method is straightforward:
{ $concat: [ <expression1>, <expression2>, ... ] }
- $concat: This operator signifies that the subsequent operation will concatenate strings.
- <expression1> and <expression2>: These represent the string values, field references, or literals to be concatenated.
Example
Input
Consider a collection named students containing documents with fields firstName, lastName, and grade, representing student information. Here are sample documents from the students collection:
[
{ "_id": ObjectId("609c26812e9274a86871bc6a"), "firstName": "John", "lastName": "Doe", "grade": "A" },
{ "_id": ObjectId("609c26812e9274a86871bc6b"), "firstName": "Alice", "lastName": "Smith", "grade": "B" },
{ "_id": ObjectId("609c26812e9274a86871bc6c"), "firstName": "Michael", "lastName": "Johnson", "grade": "C" }
]
Aggregation
Suppose we want to create a new field named fullName by concatenating the firstName and lastName fields. Here's how you can achieve this using the $concat
operator:
db.students.aggregate([
{
$project: {
fullName: { $concat: ["$firstName", " ", "$lastName"] },
grade: 1
}
}
])
Explanation
- $project: This stage reshapes documents by including or excluding fields or by adding new computed fields.
- $concat: Concatenates the firstName and lastName fields with a space in between.
When discussing how the above aggregation works:
- Each student's full name is combined from their first and last names, and their original grade is retained. So, the output gives us a list of students with their full names and grades.
Output
Now, let's take a look at the output generated by the aggregation pipeline:
[
{ "_id": ObjectId("609c26812e9274a86871bc6a"), "fullName": "John Doe", "grade": "A" },
{ "_id": ObjectId("609c26812e9274a86871bc6b"), "fullName": "Alice Smith", "grade": "B" },
{ "_id": ObjectId("609c26812e9274a86871bc6c"), "fullName": "Michael Johnson", "grade": "C" }
]
Use Cases
Data Formatting:
The
$concat
operator is useful for formatting strings and creating composite fields from existing ones.Report Generation:
When generating reports or exporting data, concatenating fields can create more informative and readable output.
Textual Analysis:
Concatenated fields can be analyzed for patterns or insights in textual data analysis tasks.
Conclusion
The $concat
operator in MongoDB's aggregation framework provides a flexible and efficient way to manipulate string values within aggregation pipelines. Whether you're formatting data, generating reports, or performing textual analysis, mastering the usage of $concat
empowers you to efficiently handle and process textual data within MongoDB.
With its intuitive syntax and diverse applications, the $concat
operator proves to be a valuable asset for handling string data effectively within MongoDB aggregation pipelines. Incorporate it into your aggregation workflows to streamline data transformation tasks and gain deeper insights into your datasets.
Join our Community:
Author

For over eight years, I worked as a full-stack web developer. Now, I have chosen my profession as a full-time blogger at codetofun.com.
Buy me a coffee to make codetofun.com free for everyone.
Buy me a Coffee
If you have any doubts regarding this article (MongoDB $concat Operator), please comment here. I will help you immediately.