w3resource

MongoDB Exercise - Find the restaurant Id, name, borough and cuisine for those restaurants which contain Reg as three letters somewhere in its name


Write a MongoDB query to find the restaurant Id, name, borough and cuisine for those restaurants which contain 'Reg' as three letters somewhere in its name.

Structure of 'restaurants' collection :

{
  "address": {
     "building": "1007",
     "coord": [ -73.856077, 40.848447 ],
     "street": "Morris Park Ave",
     "zipcode": "10462"
  },
  "borough": "Bronx",
  "cuisine": "Bakery",
  "grades": [
     { "date": { "$date": 1393804800000 }, "grade": "A", "score": 2 },
     { "date": { "$date": 1378857600000 }, "grade": "A", "score": 6 },
     { "date": { "$date": 1358985600000 }, "grade": "A", "score": 10 },
     { "date": { "$date": 1322006400000 }, "grade": "A", "score": 9 },
     { "date": { "$date": 1299715200000 }, "grade": "B", "score": 14 }
  ],
  "name": "Morris Park Bake Shop",
  "restaurant_id": "30075445"
}

Query:

db.restaurants.find(
{"name": /.*Reg.*/},
{
"restaurant_id" : 1,
"name":1,"borough":1,
"cuisine" :1
}
);

Output:

{ "_id" : ObjectId("564c2d939eb21ad392f175cf"), "borough" : "Brooklyn", "cuisine" : "American ", "name" : "Regina Caterers", "restaurant_id" : "40356649" }
{ "_id" : ObjectId("564c2d939eb21ad392f176ce"), "borough" : "Manhattan", "cuisine" : "Café/Coffee/Tea", "name" : "Caffe Reggio", "restaurant_id" : "40369418" }
{ "_id" : ObjectId("564c2d939eb21ad392f177dd"), "borough" : "Manhattan", "cuisine" : "American ", "name" : "Regency Hotel", "restaurant_id" : "40382679" }
{ "_id" : ObjectId("564c2d949eb21ad392f17afa"), "borough" : "Manhattan", "cuisine" : "American ", "name" : "Regency Whist Club", "restaurant_id" : "40402377" }
{ "_id" : ObjectId("564c2d949eb21ad392f17bdd"), "borough" : "Queens", "cuisine" : "American ", "name" : "Rego Park Cafe", "restaurant_id" : "40523342" }
{ "_id" : ObjectId("564c2d949eb21ad392f1824b"), "borough" : "Queens", "cuisine" : "Pizza", "name" : "Regina Pizza", "restaurant_id" : "40801325" }
{ "_id" : ObjectId("564c2d949eb21ad392f18462"), "borough" : "Manhattan", "cuisine" : "American ", "name" : "Regal Entertainment Group", "restaurant_id" : "40891782" }
{ "_id" : ObjectId("564c2d949eb21ad392f187a4"), "borough" : "Brooklyn", "cuisine" : "Café/Coffee/Tea", "name" : "Cafe Regular", "restaurant_id" : "41003435" }
{ "_id" : ObjectId("564c2d949eb21ad392f1897c"), "borough" : "Queens", "cuisine" : "Middle Eastern", "name" : "Rego Pita", "restaurant_id" : "41053746" }
{ "_id" : ObjectId("564c2d949eb21ad392f18b09"), "borough" : "Manhattan", "cuisine" : "Italian", "name" : "Regional", "restaurant_id" : "41096822" }
{ "_id" : ObjectId("564c2d949eb21ad392f18eab"), "borough" : "Queens", "cuisine" : "American ", "name" : "Regal Cinema 8 (Atlas Park Stadium)", "restaurant_id" : "41184464" }
{ "_id" : ObjectId("564c2d949eb21ad392f19083"), "borough" : "Manhattan", "cuisine" : "American ", "name" : "Regal Cinemas E-Walk Stadium13", "restaurant_id" : "41227884" }
{ "_id" : ObjectId("564c2d949eb21ad392f195ae"), "borough" : "Queens", "cuisine" : "Jewish/Kosher", "name" : "Regestan", "restaurant_id" : "41312517" }
{ "_id" : ObjectId("564c2d949eb21ad392f196ff"), "borough" : "Brooklyn", "cuisine" : "American ", "name" : "Sheepshead Bay Regal Cinemas Theatre", "restaurant_id" : "41335396" }
{ "_id" : ObjectId("564c2d949eb21ad392f19c02"), "borough" : "Manhattan", "cuisine" : "American ", "name" : "Regal Union Square Stadium 14", "restaurant_id" : "41402060" }
{ "_id" : ObjectId("564c2d949eb21ad392f19d3c"), "borough" : "Manhattan", "cuisine" : "American ", "name" : "St Regis New York - 20Th Floor Roof Ballroom", "restaurant_id" : "41420313" }
{ "_id" : ObjectId("564c2d949eb21ad392f19e09"), "borough" : "Queens", "cuisine" : "Chinese", "name" : "Rego Garden Restaurant, Inc", "restaurant_id" : "41430576" }
{ "_id" : ObjectId("564c2d949eb21ad392f1a2c9"), "borough" : "Queens", "cuisine" : "Pizza/Italian", "name" : "Regina'S Cafe & Pizzeria", "restaurant_id" : "41486945" }
{ "_id" : ObjectId("564c2d949eb21ad392f1a7c3"), "borough" : "Queens", "cuisine" : "American ", "name" : "Rego Bagel", "restaurant_id" : "41553722" }
{ "_id" : ObjectId("564c2d949eb21ad392f1a9f4"), "borough" : "Queens", "cuisine" : "Caribbean", "name" : "Reggae Food Restaurant & Lounge", "restaurant_id" : "41575236" }
Type "it" for more

Note: This output is generated using MongoDB server version 3.6

Explanation:

The said query in MongoDB that searches for all documents in the "restaurants" collection where the "name" field matches a regular expression pattern that includes the substring "Reg", and returns a subset of fields that is "restaurant_id", "name", "borough", and "cuisine" for each matching document.
The regular expression pattern used in the query is "/.Reg./", which matches any string that contains the substring "Reg" anywhere in it.

Improve this sample solution and post your code through Disqus.

Previous: Find restaurant names, addresses, and cuisines with 'CES' as their last three letters.
Next: Find restaurants in the Bronx that prepare American or Chinese food.

What is the difficulty level of this exercise?



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/mongodb-exercises/mongodb-exercise-16.php