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"    ] }
Updated on: 2019-07-30T22:30:25+05:30

154 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements