In this assignment, you will use a NoSQL database system called MongoDB.
More about MongoDB and JSON you can find here and here.
1. Download and install MongoDB (see more here or here.)
2. Download a restaurants dataset at https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json
3. Use mongoimport to import the restaurants dataset into MongoDB.
(use something like this:
> mongoimport --db test --collection restaurants --drop --file primer-dataset.json
You may need to specify the full directory of the file )
You can find more instructions here .
Now you are ready to start the project. Notice that the dataset contains information about restaurants in New York City.
3. Queries in MongoDB
After importing the data, write queries in MongoDB to answer the following questions (try to use aggregation pipelines when possible):
(1) Find the restaurant ID of “Caffe Dante”.
(2) Find all restaurants whose name has “Ice Cream” in it, return only the restaurant’s ids and names.
(3) Find the names of all restaurants that serve either Italian or American cuisine and are located in the Brooklyn borough.
(4) Return the list of boroughs ranked by the number of American restaurants in it. That is, for each borough, find how many restaurants serve American cuisine and print the borough and the number of such restaurants sorted by this number.
(5) Find the top 5 American restaurants in Manhattan that have the highest total score. Return for each restaurant the restaurants’ name and the total score. Hint: You can use “$unwind”.
(6) Consider a rectangle area on the location field, in which the vertices are [ -74 , 40.5 ] , [ -74 , 40.7 ] , [ -73.5 , 40.5 ] and [ -73.5 , 40.7 ]. Find the number of restaurants in this area that have received a grade score (at least one) more than 50.
Hint: Use the $geoWithin and $box.
Write down your queries.
4. Submission instructions
Create a file that contains the queries in MongoDB and your comments (if any) but NOT the results of the queries.
We accept only Text or PDF files.
You should turn in your file by Tuesday, Dec 12, 2017 at 11:59PM via gsubmit.
Please include your username in the name of your PA3 report. For example: "bob_pa3.pdf".