Fetch Records in MongoDB by Querying Its Subset



You can use $all operator. Let us first create a collection with documents −

> db.subsetOfAnArrayDemo.insertOne({"StudentProgrammingSkills":
   ["Java","MongoDB","MySQL","C++","Data Structure","Algorithm","Python","Oracle","SQL Server"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cb9d1e1895c4fd159f80804")
}

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

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

This will produce the following output −

{
   "_id" : ObjectId("5cb9d1e1895c4fd159f80804"),
   "StudentProgrammingSkills" : [
      "Java",
      "MongoDB",
      "MySQL",
      "C++",
      "Data Structure",
      "Algorithm",
      "Python",
      "Oracle",
      "SQL Server"
   ]
}

Following is the query to get the subset of an array −

> db.subsetOfAnArrayDemo.find({ StudentProgrammingSkills:
   { $all: [ 'MongoDB', 'MySQL' ] } } ).pretty();

This will produce the following output −

{
   "_id" : ObjectId("5cb9d1e1895c4fd159f80804"),
   "StudentProgrammingSkills" : [
      "Java",
      "MongoDB",
      "MySQL",
      "C++",
      "Data Structure",
      "Algorithm",
      "Python",
      "Oracle",
      "SQL Server"
   ]
}
Updated on: 2019-07-30T22:30:25+05:30

132 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements