Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Specify a return format for data in MongoDB
In MongoDB, you can specify a custom return format for your data using aggregation operators like $addToSet. This operator collects unique values from multiple documents and returns them as an array, eliminating duplicates.
Syntax
db.collection.aggregate([
{
"$group": {
"_id": null,
"fieldName": { "$addToSet": "$sourceField" }
}
},
{
"$project": {
"_id": 0,
"fieldName": 1
}
}
]);
Sample Data
db.demo207.insertMany([
{"FavouriteTechnology": "Spring Boot"},
{"FavouriteTechnology": "MongoDB"},
{"FavouriteTechnology": "Groovy"}
]);
{
"acknowledged": true,
"insertedIds": {
"0": ObjectId("5e3d8e7a03d395bdc21346f1"),
"1": ObjectId("5e3d8e8f03d395bdc21346f2"),
"2": ObjectId("5e3d8ea603d395bdc21346f3")
}
}
Display All Documents
db.demo207.find();
{ "_id" : ObjectId("5e3d8e7a03d395bdc21346f1"), "FavouriteTechnology" : "Spring Boot" }
{ "_id" : ObjectId("5e3d8e8f03d395bdc21346f2"), "FavouriteTechnology" : "MongoDB" }
{ "_id" : ObjectId("5e3d8ea603d395bdc21346f3"), "FavouriteTechnology" : "Groovy" }
Specify Return Format
Use $addToSet with aggregation to collect all technology values into a single array ?
db.demo207.aggregate([
{
"$group": {
"_id": 0,
"FavouriteTechnology": {
"$addToSet": "$FavouriteTechnology"
}
}
},
{
"$project": {
"_id": 0,
"FavouriteTechnology": 1
}
}
]);
{ "FavouriteTechnology" : [ "MongoDB", "Groovy", "Spring Boot" ] }
Key Points
-
$addToSetautomatically removes duplicate values from the result array. -
$groupwith_id: 0groups all documents into a single result. -
$projectcontrols which fields appear in the final output.
Conclusion
The $addToSet operator with aggregation pipeline allows you to transform multiple document values into a single formatted array result. This is useful for collecting unique values across documents into a consolidated format.
Advertisements
