Remove all except a single field from a nested document via projection in MongoDB

MongoDBDatabaseBig Data Analytics

Set the field you don’t want to include as 0. This would display rest of the values while using find(). Let us first create a collection with documents −

> db.demo237.insertOne({
...   _id:101,
...   Product: {
...      description1: {id:1001 },
...      description2: {Name:"Product-1" },
...      description3: {Price:550 }
...   }
...}
...);
{ "acknowledged" : true, "insertedId" : 101 }

Display all documents from a collection with the help of find() method −

> db.demo237.find().pretty();

This will produce the following output −

{
   "_id" : 101,
   "Product" : {
      "description1" : {
         "id" : 1001
      },
      "description2" : {
         "Name" : "Product-1"
      },
      "description3" : {
         "Price" : 550
      }
   }
}

Following is the query to remove all except a single field from a nested document via projection −

> db.demo237.find({}, { "Product.description1": 0, "Product.description3": 0 });

This will produce the following output −

{ "_id" : 101, "Product" : { "description2" : { "Name" : "Product-1" } } }
raja
Published on 30-Mar-2020 16:49:42
Advertisements