кодесурса

MongoDB Упражнение - Найти рестораны, которые набрали больше, чем заданное число


Напишите запрос MongoDB, чтобы найти рестораны, набравшие более 90 баллов.

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

 {
  "адрес": {
     «здание»: «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 : { $elemMatch:{"score":{$gt : 90}}}});

Выход:

 {"_id": ObjectId ("564c2d939eb21ad392f17726"), "address": {"building": "65", "ord": [-73.9782725, 40.7624022], "street": "West 54 Street", "почтовый индекс": "10019"}, "городской округ": "Манхэттен", "кухня": "американская", "классы": [{"дата": ISODate ("2014-08-22T00: 00: 00Z"), "класс": «A», «оценка»: 11}, {«дата»: ISODate («2014-03-28T00: 00: 00Z»), «оценка»: «C», «оценка»: 131}, {«дата» : ISODate ("2013-09-25T00: 00: 00Z"), "оценка": "A", "оценка": 11}, {"дата": ISODate ("2013-04-08T00: 00:
00Z ")," оценка ":" B "," оценка ": 25}, {" дата ": ISODate (" 2012-10-15T00: 00: 00Z ")," оценка ":" A "," оценка " : 11}, {"date": ISODate ("2011-10-19T00: 00: 00Z"), "grade": "A", "Score": 13}], "name": "Murals On 54 / Randolphs'S "," restaurant_id ":" 40372466 "}
{"_id": ObjectId ("564c2d939eb21ad392f177c8"), "address": {"building": "345", "corre": [-73.9864626, 40.7266739], "street": "East 6 Street", "zipcode": "10003"}, "местный": "Манхэттен", "кухня": "индийская", "сорта": [{"date": ISODate ("2014-09-15T00: 00: 00Z"), "grade": «A», «оценка»: 5}, {«дата»: ISODate («2014-01-14T00: 00: 00Z»), «оценка»: «A», «оценка»: 8}, {«дата» : ISODate ("2013-05-30T00: 00: 00Z"), "оценка": "A", "оценка": 12}, {"дата": ISODate ("2013-04-24T00: 00: 00Z") , "
оценка ":" P "," оценка ": 2}, {" дата ": ISODate (" 2012-10-01T00: 00: 00Z ")," оценка ":" A "," оценка ": 9}, { «дата»: ISODate («2012-04-06T00: 00: 00Z»), «оценка»: «C», «оценка»: 92}, {«дата»: ISODate («2011-11-03T00: 00: 00Z ")," grade ":" C "," score ": 41}]," name ":" Gandhi "," restaurant_id ":" 40381295 "}
{"_id": ObjectId ("564c2d939eb21ad392f17929"), "address": {"building": "130", "corre": [-73.984758, 40.7457939], "street": "Madison Avenue", "zipcode": " 10016 "}," местный ":" Манхэттен "," кухня ":" Пицца / Итальянский "," Сорта ": [{" дата ": ISODate (" 2014-12-24T00: 00: 00Z ")," Сорт ") : "Z", "оценка": 31}, {"дата": ISODate ("2014-06-17T00: 00: 00Z"), "оценка": "C", "оценка": 98}, {"дата ": ISODate (" 2013-12-12T00: 00: 00Z ")," оценка ":" C "," оценка ": 32}, {" дата ": ISODate (" 2013-05-22T00: 00
: 00Z ")," оценка ":" B "," оценка ": 21}, {" дата ": ISODate (" 2012-05-02T00: 00: 00Z ")," оценка ":" A "," оценка ": 11}]," name ":" Bella Napoli "," restaurant_id ":" 40393488 "}
{"_id": ObjectId ("564c2d949eb21ad392f1a951"), "address": {"building": "1724", "corre": [-73.94981, 40.780043], "street": "2 Avenue", "zipcode": " 10128 "}," городской округ ":" Манхэттен "," кухня ":" индийская "," сорта ": [{" date ": ISODate (" 2014-09-25T00: 00: 00Z ")," grade ":" A "," оценка ": 7}, {" дата ": ISODate (" 2014-03-20T00: 00: 00Z ")," оценка ":" A "," оценка ": 12}, {" дата ": ISODate ("2013-09-09T00: 00: 00Z"), "оценка": "B", "оценка": 21}, {"дата": ISODate ("2013-03-25T00: 00: 00Z"), «класс»
 : "B", "оценка": 18}, {"дата": ISODate ("2012-08-15T00: 00: 00Z"), "оценка": "A", "оценка": 11}, {"дата ": ISODate (" 2011-12-23T00: 00: 00Z ")," оценка ":" C "," оценка ": 98}]," name ":" Индийская еда Балучи "," restaurant_id ":" 41569277 " }

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

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

Предыдущий: Напишите запрос MongoDB, чтобы отобразить следующие 5 ресторанов после пропуска первых 5, которые находятся в районе Бронкс.
Далее: Напишите запрос MongoDB, чтобы найти рестораны, которые набрали больше 80 баллов, но меньше 100.

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code