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

  • $addToSet automatically removes duplicate values from the result array.
  • $group with _id: 0 groups all documents into a single result.
  • $project controls 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.

Updated on: 2026-03-15T01:44:22+05:30

367 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements