MongoDB Exercise - Find the restaurant name, borough, longitude and latitude and cuisine for those restaurants which contains mon in its name
Write a MongoDB query to find the restaurant name, borough, longitude and attitude and cuisine for those restaurants which contains 'mon' 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 :
{ $regex : "mon.*", $options: "i" }
},
{
"name":1,
"borough":1,
"address.coord":1,
"cuisine" :1
}
);
Output:
{ "_id" : ObjectId("564c2d939eb21ad392f1765d"), "address" : { "coord" : [ -73.98306099999999, 40.7441419 ] }, "borough" : "Manhattan", "cuisine" : "American ", "name" : "Desmond'S Tavern" } { "_id" : ObjectId("564c2d939eb21ad392f17666"), "address" : { "coord" : [ -73.8221418, 40.7272376 ] }, "borough" : "Queens", "cuisine" : "Jewish/Kosher", "name" : "Shimons Kosher Pizza" } { "_id" : ObjectId("564c2d939eb21ad392f17672"), "address" : { "coord" : [ -74.10465599999999, 40.58834 ] }, "borough" : "Staten Island", "cuisine" : "American ", "name" : "Richmond County Country Club" } { "_id" : ObjectId("564c2d939eb21ad392f176a7"), "address" : { "coord" : [ -73.9812843, 40.5947365 ] }, "borough" : "Brooklyn", "cuisine" : "Pizza/Italian", "name" : "Lb Spumoni Gardens" } { "_id" : ObjectId("564c2d939eb21ad392f176ee"), "address" : { "coord" : [ -73.951199, 40.7166026 ] }, "borough" : "Brooklyn", "cuisine" : "Italian", "name" : "Bamonte'S Restaurant" } { "_id" : ObjectId("564c2d939eb21ad392f17725"), "address" : { "coord" : [ -73.924072, 40.76108900000001 ] }, "borough" : "Queens", "cuisine" : "Greek", "name" : "Omonia Cafe" } { "_id" : ObjectId("564c2d939eb21ad392f17775"), "address" : { "coord" : [ -74.0023353, 40.7333573 ] }, "borough" : "Manhattan", "cuisine" : "American ", "name" : "Manhattan Monster" } { "_id" : ObjectId("564c2d939eb21ad392f177a3"), "address" : { "coord" : [ -74.001094, 40.729583 ] }, "borough" : "Manhattan", "cuisine" : "Italian", "name" : "Monte'S" } { "_id" : ObjectId("564c2d939eb21ad392f177a8"), "address" : { "coord" : [ -73.9901605, 40.7526176 ] }, "borough" : "Manhattan", "cuisine" : "American ", "name" : "Delmonico'S Kitchen" } { "_id" : ObjectId("564c2d939eb21ad392f177be"), "address" : { "coord" : [ -73.9979536, 40.6914024 ] }, "borough" : "Brooklyn", "cuisine" : "Bottled beverages, including water, sodas, juices, etc.", "name" : "Montero Bar & Grill" } { "_id" : ObjectId("564c2d939eb21ad392f17949"), "address" : { "coord" : [ -73.9707505, 40.7635651 ] }, "borough" : "Manhattan", "cuisine" : "Delicatessen", "name" : "Delmonico Gourmet" } { "_id" : ObjectId("564c2d949eb21ad392f179b9"), "address" : { "coord" : [ -73.9760637, 40.7508686 ] }, "borough" : "Manhattan", "cuisine" : "American ", "name" : "Delmonico Gourmet" } { "_id" : ObjectId("564c2d949eb21ad392f179c9"), "address" : { "coord" : [ -73.9705633, 40.7605759 ] }, "borough" : "Manhattan", "cuisine" : "Italian", "name" : "Montebello Restaurant" } { "_id" : ObjectId("564c2d949eb21ad392f17a62"), "address" : { "coord" : [ -74.1914658, 40.55274360000001 ] }, "borough" : "Staten Island", "cuisine" : "Italian", "name" : "Villa Monte Pizzeria" } { "_id" : ObjectId("564c2d949eb21ad392f17b0d"), "address" : { "coord" : [ -73.97198209999999, 40.764464 ] }, "borough" : "Manhattan", "cuisine" : "American ", "name" : "Harmonie Club" } { "_id" : ObjectId("564c2d949eb21ad392f17bd2"), "address" : { "coord" : [ -73.79571990000001, 40.7095637 ] }, "borough" : "Queens", "cuisine" : "Bakery", "name" : "Ramona'S Bakery" } { "_id" : ObjectId("564c2d949eb21ad392f17c06"), "address" : { "coord" : [ -73.97852100000001, 40.729192 ] }, "borough" : "Manhattan", "cuisine" : "American ", "name" : "Mona'S" } { "_id" : ObjectId("564c2d949eb21ad392f17c2b"), "address" : { "coord" : [ -73.98463480000001, 40.7630755 ] }, "borough" : "Manhattan", "cuisine" : "American ", "name" : "Neil Simon Theatre" } { "_id" : ObjectId("564c2d949eb21ad392f17c68"), "address" : { "coord" : [ -73.9938361, 40.6091317 ] }, "borough" : "Brooklyn", "cuisine" : "Bakery", "name" : "Mondial Bakery" } { "_id" : ObjectId("564c2d949eb21ad392f17c8c"), "address" : { "coord" : [ -74.028486, 40.630438 ] }, "borough" : "Brooklyn", "cuisine" : "Mediterranean", "name" : "Omonia Cafe" } Type "it" for more
Note: This output is generated using MongoDB server version 3.6
Explanation:
The said query in MongoDB query that searches for a list of all restaurants where the name field starts with "mon" (case-insensitive), along with their respective name, borough, address.coord, and cuisine field values.
The $regex regular expression that matches any string that starts with "mon" in the name field and the $options: "i" is specifies that the case-insensitive option for the regular expression.
Improve this sample solution and post your code through Disqus.
Previous: The Id, name and grades of those restaurants with a remainder of 0 after dividing the score by 7 should be selected.
Next: Find the restaurant name, borough, longitude, attitude and cuisine for those restaurants with 'Mad' in their first three letters.
What is the difficulty level of this exercise?
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics