Fetch records in MongoDB on 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"
   ]
}

karthikeya Boyini
karthikeya Boyini

I love programming (: That's all I know

Updated on: 30-Jul-2019

87 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements