How to get specific data in different formats with MongoDB?


For this, simply use find(). For a different format, use pretty(). Let us first create a collection with documents −

> db.getSpecificData.insertOne(
... {
...    "StudentName": "John",
...    "Information": {
...       "FatherName": "Chris",
...       "Place": {
...          "CountryName": "US",
...          "ZipCode":"111344"
...       },
...       "id": "1"
...    }
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e039abdf5e889d7a5199509")
}
> db.getSpecificData.insertOne(
...    {
...       "StudentName": "Carol",
...       "Information": {
...          "FatherName": "Robert",
...          "Place": {
...             "CountryName": "UK",
...             "ZipCode":"746464"
...          },
...          "id": "2"
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e039ae6f5e889d7a519950a")
}
>
> db.getSpecificData.insertOne(
... {
...    "StudentName": "David",
...    "Information": {
...       "FatherName": "Carol",
...       "Place": {
...          "CountryName": "US",
...          "ZipCode":"567334"
...       },
...    "id": "3"
...    }
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e039ae7f5e889d7a519950b")
}
>
> db.getSpecificData.insertOne(
...    {
...       "StudentName": "Jace",
...       "Information": {
...          "FatherName": "Bob",
...          "Place": {
...             "CountryName": "US",
...             "ZipCode":"999999"
...          },
...          "id": "4"
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e039ae8f5e889d7a519950c")
}

Following is the query to display all documents from a collection with the help of find() method −

> db.getSpecificData.find({'Information.Place.CountryName':"US"}, {}, {limit: 2}, function(error, data) {}).pretty();

This will produce the following output −

{
   "_id" : ObjectId("5e039abdf5e889d7a5199509"),
   "StudentName" : "John",
   "Information" : {
      "FatherName" : "Chris",
      "Place" : {
         "CountryName" : "US",
         "ZipCode" : "111344"
      },
   "id" : "1"
   }
}
{
   "_id" : ObjectId("5e039ae7f5e889d7a519950b"),
   "StudentName" : "David",
   "Information" : {
      "FatherName" : "Carol",
      "Place" : {
         "CountryName" : "US",
         "ZipCode" : "567334"
      },
   "id" : "3"
   }
}
{
   "_id" : ObjectId("5e039ae8f5e889d7a519950c"),
   "StudentName" : "Jace",
   "Information" : {
      "FatherName" : "Bob",
      "Place" : {
         "CountryName" : "US",
         "ZipCode" : "999999"
      },
   "id" : "4"
   }
}

Following is the query to get specific data in a different format −

> db.getSpecificData.find({'Information.Place.CountryName':"US"}, {}).limit(2);

This will produce the following output −

{ "_id" : ObjectId("5e039abdf5e889d7a5199509"), "StudentName" : "John", "Information" : { "FatherName" : "Chris", "Place" : { "CountryName" : "US", "ZipCode" : "111344" }, "id" : "1" } }
{ "_id" : ObjectId("5e039ae7f5e889d7a519950b"), "StudentName" : "David", "Information" : { "FatherName" : "Carol", "Place" : { "CountryName" : "US", "ZipCode" : "567334" }, "id" : "3" } }

Updated on: 27-Mar-2020

50 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements