кодесурса

MongoDB Exercise - найти идентификатор ресторана, название и оценки для тех ресторанов, которые достигли определенного уровня, набрать баллы на определенную дату


Напишите запрос MongoDB, чтобы найти идентификатор ресторана, его название и оценки для тех ресторанов, которые достигли оценки «А» и набрали 11 баллов по ISODate «2014-08-11T00: 00: 00Z» среди многих дат опросов.

Структура коллекции ресторанов

 {
  "адрес": {
     «здание»: «1007»,
     «координата»: [-73,856077, 40,848447],
     "улица": "Моррис Парк Авеню",
     почтовый индекс: 10462
  },
  "Боро": "Бронкс",
  "кухня": "пекарня",
  "оценки": [
     {"date": {"$ date": 1393804800000}, "оценка": "A", "оценка": 2},
     {"date": {"$ date": 1378857600000}, "оценка": "A", "оценка": 6},
     {"date": {"$ date": 1358985600000}, "оценка": "A", "оценка": 10},
     {"date": {"$ date": 1322006400000}, "оценка": "A", "оценка": 9},
     {"date": {"$ date": 1299715200000}, "оценка": "B", "оценка": 14}
  ],
  "name": "Morris Park Bake Shop",
  "restaurant_id": "30075445"
} 

Запрос:

db.restaurants.find( 
                {
                 "grades.date": ISODate("2014-08-11T00:00:00Z"), 
                 "grades.grade":"A" , 
                 "grades.score" : 11
                }, 
                {"restaurant_id" : 1,"name":1,"grades":1}
             );

Выход:

 {"_id": ObjectId ("564c2d939eb21ad392f17648"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 13 }, {"date": ISODate ("2013-07-22T00: 00: 00Z"), "grade": "A", "score": 9}, {"date": ISODate ("2013-03-14T00 : 00: 00Z ")," оценка ":" A "," оценка ": 12}, {" дата ": ISODate (" 2012-07-02T00: 00: 00Z ")," оценка ":" A ", "оценка": 11}, {"дата": ISODate ("2012-02-02T00: 00: 00Z"), "оценка": "А", "оценка": 10}, {"дата": ISODate (" 2011-08-24T00: 00: 00Z ")," оценка ":" А "," оценка
": 11}]," name ":" Neary'S Pub "," restaurant_id ":" 40365871 "}
{"_id": ObjectId ("564c2d939eb21ad392f17721"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 11 }, {"date": ISODate ("2013-12-10T00: 00: 00Z"), "grade": "A", "Score": 9}, {"date": ISODate ("2013-06-10T00 : 00: 00Z ")," оценка ":" A "," оценка ": 12}, {" дата ": ISODate (" 2012-06-08T00: 00: 00Z ")," оценка ":" A ", "оценка": 13}, {"дата": ISODate ("2012-01-25T00: 00: 00Z"), "оценка": "А", "оценка": 8}, {"дата": ISODate (" 2011-09-13T00: 00: 00Z ")," оценка ":" А "," оценка "
 : 12}], "name": "Ресторан Don Filippo", "restaurant_id": "40372417"}
{"_id": ObjectId ("564c2d949eb21ad392f179e7"), "оценки": [{"дата": ISODate ("2014-08-11T00: 00: 00Z"), "оценка": "А", "оценка": 6 }, {"date": ISODate ("2013-08-29T00: 00: 00Z"), "grade": "A", "score": 12}, {"date": ISODate ("2013-04-25T00 : 00: 00Z ")," оценка ":" C "," оценка ": 2}, {" дата ": ISODate (" 2012-10-23T00: 00: 00Z ")," оценка ":" A ", "оценка": 13}, {"дата": ISODate ("2012-04-16T00: 00: 00Z"), "оценка": "А", "оценка": 11}, {"дата": ISODate (" 2011-11-15T00: 00: 00Z ")," оценка ":" А "," оценка "
 : 12}], "name": "Ресторан Mustang Sally'S", "restaurant_id": "40397374"}
{"_id": ObjectId ("564c2d949eb21ad392f17bf3"), "grades": [{"date": ISODate ("2015-01-12T00: 00: 00Z"), "grade": "A", "score": 10 }, {"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "Score": 9}, {"date": ISODate ("2014-01-14T00 : 00: 00Z ")," оценка ":" A "," оценка ": 13}, {" дата ": ISODate (" 2013-02-07T00: 00: 00Z ")," оценка ":" A ", "оценка": 10}, {"дата": ISODate ("2012-04-30T00: 00: 00Z"), "оценка": "А", "оценка": 11}], "имя": "Клуб Macanudo (Cigar Bar) "," restaurant_id ":" 405264
06 "}
{"_id": ObjectId ("564c2d949eb21ad392f17ce9"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 8 }, {"date": ISODate ("2014-01-09T00: 00: 00Z"), "grade": "B", "Score": 27}, {"date": ISODate ("2013-06-11T00 : 00: 00Z ")," оценка ":" A "," оценка ": 4}, {" дата ": ISODate (" 2012-10-09T00: 00: 00Z ")," оценка ":" B ", "оценка": 19}, {"дата": ISODate ("2012-05-10T00: 00: 00Z"), "оценка": "А", "оценка": 11}, {"дата": ISODate (" 2011-11-23T00: 00: 00Z ")," оценка ":" А "," оценка "
 : 9}], "name": "Marino'S Pizza & Restaurant", "restaurant_id": "40560917"}
{"_id": ObjectId ("564c2d949eb21ad392f17e98"), "оценки": [{"дата": ISODate ("2015-01-05T00: 00: 00Z"), "оценка": "А", "оценка": 9 }, {"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "Score": 10}, {"date": ISODate ("2014-03-04T00 : 00: 00Z ")," оценка ":" B "," оценка ": 22}, {" дата ": ISODate (" 2013-09-13T00: 00: 00Z ")," оценка ":" A ", «оценка»: 5}, {«дата»: ISODate («2013-01-16T00: 00: 00Z»), «оценка»: «А», «оценка»: 11}], «имя»: «Кофе Джина» Магазин "," restaurant_id ":" 40614916 "}
{"_id": ObjectId ("564c2d949eb21ad392f17fff"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 10 }, {"date": ISODate ("2014-02-20T00: 00: 00Z"), "grade": "A", "score": 7}, {"date": ISODate ("2013-08-29T00 : 00: 00Z ")," оценка ":" A "," оценка ": 7}, {" дата ": ISODate (" 2013-03-29T00: 00: 00Z ")," оценка ":" A ", "оценка": 10}, {"дата": ISODate ("2012-03-07T00: 00: 00Z"), "оценка": "А", "оценка": 12}, {"дата": ISODate (" 2011-11-18T00: 00: 00Z ")," оценка ":" А "," оценка "
 : 11}, {"date": ISODate ("2011-10-12T00: 00: 00Z"), "grade": "P", "Score": 4}], "name": "Union Cafe Restaurant", "restaurant_id": "40698823"}
{"_id": ObjectId ("564c2d949eb21ad392f1846b"), "оценки": [{"дата": ISODate ("2014-08-11T00: 00: 00Z"), "оценка": "А", "оценка": 10 }, {"date": ISODate ("2013-08-28T00: 00: 00Z"), "grade": "A", "score": 9}, {"date": ISODate ("2012-09-05T00 : 00: 00Z ")," оценка ":" A "," оценка ": 11}, {" дата ": ISODate (" 2011-08-25T00: 00: 00Z ")," оценка ":" A ", "score": 7}], "name": "Jojo'S Pizza", "restaurant_id": "40892913"}
{"_id": ObjectId ("564c2d949eb21ad392f184b9"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 12 }, {"date": ISODate ("2013-08-29T00: 00: 00Z"), "grade": "A", "score": 2}, {"date": ISODate ("2013-04-01T00 : 00: 00Z ")," оценка ":" A "," оценка ": 9}, {" дата ": ISODate (" 2012-10-23T00: 00: 00Z ")," оценка ":" A ", "оценка": 5}, {"дата": ISODate ("2011-09-30T00: 00: 00Z"), "оценка": "А", "оценка": 11}], "имя": "Cosi Sandwich Bar "," restaurant_id ":" 40912833 "}
{"_id": ObjectId ("564c2d949eb21ad392f184f9"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 11 }, {"date": ISODate ("2014-02-04T00: 00: 00Z"), "grade": "A", "Score": 10}, {"date": ISODate ("2013-06-19T00 : 00: 00Z ")," оценка ":" A "," оценка ": 2}, {" дата ": ISODate (" 2012-06-25T00: 00: 00Z ")," оценка ":" A ", "оценка": 12}, {"дата": ISODate ("2012-02-08T00: 00: 00Z"), "оценка": "A", "оценка": 5}], "имя": "Cosi" , "restaurant_id": "40922983"}
{"_id": ObjectId ("564c2d949eb21ad392f1851c"), "оценки": [{"дата": ISODate ("2014-08-11T00: 00: 00Z"), "оценка": "А", "оценка": 10 }, {"date": ISODate ("2014-02-13T00: 00: 00Z"), "grade": "A", "score": 12}, {"date": ISODate ("2013-06-04T00 : 00: 00Z ")," оценка ":" B "," оценка ": 15}, {" дата ": ISODate (" 2012-12-12T00: 00: 00Z ")," оценка ":" B ", "оценка": 17}, {"дата": ISODate ("2012-05-17T00: 00: 00Z"), "оценка": "А", "оценка": 11}], "имя": "Исла Оф Verde "," restaurant_id ":" 40927513 "}
{"_id": ObjectId ("564c2d949eb21ad392f18699"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 9 }, {"date": ISODate ("2013-08-19T00: 00: 00Z"), "grade": "A", "Score": 13}, {"date": ISODate ("2012-08-23T00 : 00: 00Z ")," оценка ":" A "," оценка ": 12}, {" дата ": ISODate (" 2012-02-10T00: 00: 00Z ")," оценка ":" A ", "оценка": 5}, {"дата": ISODate ("2011-10-20T00: 00: 00Z"), "оценка": "А", "оценка": 11}], "имя": "Бамбуковый сад" Китайский ресторан "," restaurant_id ":"
40970116 "}
{"_id": ObjectId ("564c2d949eb21ad392f189e8"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 10 }, {"date": ISODate ("2014-03-07T00: 00: 00Z"), "grade": "A", "Score": 11}, {"date": ISODate ("2013-08-27T00 : 00: 00Z ")," оценка ":" A "," оценка ": 9}, {" дата ": ISODate (" 2013-03-28T00: 00: 00Z ")," оценка ":" A ", "оценка": 13}, {"дата": ISODate ("2012-10-05T00: 00: 00Z"), "оценка": "А", "оценка": 12}, {"дата": ISODate (" 2012-05-07T00: 00: 00Z ")," оценка ":" А "," оценка
": 12}, {" date ": ISODate (" 2011-12-08T00: 00: 00Z ")," grade ":" A "," Score ": 9}]," name ":" Кубинская кухня Тины " , "restaurant_id": "41067289"}
{"_id": ObjectId ("564c2d949eb21ad392f18b3d"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 8 }, {"date": ISODate ("2014-01-27T00: 00: 00Z"), "grade": "A", "Score": 10}, {"date": ISODate ("2013-01-16T00 : 00: 00Z ")," оценка ":" A "," оценка ": 11}, {" дата ": ISODate (" 2012-05-15T00: 00: 00Z ")," оценка ":" A ", "оценка": 13}, {"дата": ISODate ("2011-12-22T00: 00: 00Z"), "оценка": "A", "оценка": 5}, {"дата": ISODate (" 2011-08-18T00: 00: 00Z ")," оценка ":" А "," оценка "
 : 11}], "name": "Bar Americain", "restaurant_id": "41101050"}
{"_id": ObjectId ("564c2d949eb21ad392f190a5"), "оценки": [{"дата": ISODate ("2014-08-11T00: 00: 00Z"), "оценка": "А", "оценка": 11 }, {"date": ISODate ("2014-02-07T00: 00: 00Z"), "grade": "A", "Score": 12}, {"date": ISODate ("2012-12-05T00 : 00: 00Z ")," оценка ":" A "," оценка ": 8}, {" дата ": ISODate (" 2012-07-13T00: 00: 00Z ")," оценка ":" A ", "оценка": 12}, {"дата": ISODate ("2012-02-08T00: 00: 00Z"), "оценка": "А", "оценка": 9}], "имя": "Метро" , "restaurant_id": "41230741"}
{"_id": ObjectId ("564c2d949eb21ad392f19103"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 12 }, {"date": ISODate ("2014-01-29T00: 00: 00Z"), "grade": "A", "score": 12}, {"date": ISODate ("2013-07-22T00 : 00: 00Z ")," оценка ":" C "," оценка ": 37}, {" дата ": ISODate (" 2013-01-11T00: 00: 00Z ")," оценка ":" A ", "оценка": 9}, {"дата": ISODate ("2012-05-15T00: 00: 00Z"), "оценка": "А", "оценка": 11}], "имя": "Пицца & Пита "," restaurant_id ":" 41236336 "}
{"_id": ObjectId ("564c2d949eb21ad392f194e1"), "оценки": [{"дата": ISODate ("2015-01-15T00: 00: 00Z"), "оценка": "А", "оценка": 11 }, {"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 9}, {"date": ISODate ("2013-06-18T00 : 00: 00Z ")," оценка ":" A "," оценка ": 7}, {" дата ": ISODate (" 2013-01-24T00: 00: 00Z ")," оценка ":" A ", "оценка": 2}, {"дата": ISODate ("2012-06-11T00: 00: 00Z"), "оценка": "А", "оценка": 11}], "имя": "Shoolbred'S" , "restaurant_id": "41302014"}
{"_id": ObjectId ("564c2d949eb21ad392f19580"), "grades": [{"date": ISODate ("2014-12-27T00: 00: 00Z"), "grade": "A", "score": 11 }, {"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 9}, {"date": ISODate ("2014-02-24T00 : 00: 00Z ")," оценка ":" A "," оценка ": 10}, {" дата ": ISODate (" 2013-01-08T00: 00: 00Z ")," оценка ":" A ", "оценка": 12}, {"дата": ISODate ("2012-06-27T00: 00: 00Z"), "оценка": "А", "оценка": 6}, {"дата": ISODate (" 2012-01-26T00: 00: 00Z ")," оценка ":" А "," оценка "
 : 5}], "name": "Cabana", "restaurant_id": "41309951"}
{"_id": ObjectId ("564c2d949eb21ad392f196c2"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "A", "score": 4 }, {"date": ISODate ("2014-01-27T00: 00: 00Z"), "grade": "A", "score": 13}, {"date": ISODate ("2013-07-31T00 : 00: 00Z ")," оценка ":" A "," оценка ": 13}, {" дата ": ISODate (" 2012-07-31T00: 00: 00Z ")," оценка ":" A ", "оценка": 11}, {"дата": ISODate ("2011-12-19T00: 00: 00Z"), "оценка": "B", "оценка": 19}], "имя": "Остров Майка" Гриль-ресторан "," restaurant_id ":" 4
1330799 "}
{"_id": ObjectId ("564c2d949eb21ad392f198b7"), "grades": [{"date": ISODate ("2014-08-11T00: 00: 00Z"), "grade": "B", "score": 17 }, {"date": ISODate ("2014-01-28T00: 00: 00Z"), "grade": "A", "Score": 9}, {"date": ISODate ("2013-04-04T00 : 00: 00Z ")," оценка ":" A "," оценка ": 13}, {" дата ": ISODate (" 2012-10-04T00: 00: 00Z ")," оценка ":" A ", "оценка": 11}, {"дата": ISODate ("2012-02-23T00: 00: 00Z"), "оценка": "А", "оценка": 9}], "имя": "Питание особняков "," restaurant_id ":" 41365614 "}
Типа "это" для более

Примечание. Этот вывод генерируется с использованием сервера MongoDB версии 3.6.

Улучшите этот пример решения и опубликуйте свой код через Disqus.

Предыдущий: Напишите запрос MongoDB, чтобы найти идентификатор ресторана, название, район и кухню для тех ресторанов, в которых готовили блюда, кроме «Американский» и «Китайский», или название ресторана начинается с буквы «Wil».
Далее: Написать запрос MongoDB, чтобы найти идентификатор ресторана, название и оценки для тех ресторанов, где 2-й элемент массива оценок содержит оценку «А» и оценку 9 на ISODate «2014-08-11T00: 00: 00Z» ,

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code