Я новичок в mongoDB, и я столкнулся с проблемой. Данные были импортированы в соответствии с официальным документом.
Как вы можете видеть, каждый из ресторанов имеет массив оценок, а вложенный документ содержит поле оценки. То, что я хочу сделать, зависит от среднего балла каждого класса ресторана и выкупа ресторана, который имеет верхний средний балл. Для этого может потребоваться использовать агрегированный метод mongoDB, но документ не охватывает ситуацию с вложенными документами, и я googled, но без результата. На этом сайте есть similar question, но это не так понятно.MongoDB и aggragate встроенный документ
[
{ "_id" : ObjectId("56a9f39cae1902590811dffc"),
"address" : { "building" : "284",
"coord" : [ -73.9829239, 40.6580753 ],
"street" : "Prospect Park West",
"zipcode" : "11215" },
"borough" : "Brooklyn",
"cuisine" : "American ",
"grades" : [ { "date" : ISODate("2014-11-19T00:00:00Z"), "grade" : "A", "score" : 11 },
{ "date" : ISODate("2013-11-14T00:00:00Z"), "grade" : "A", "score" : 2 },
{ "date" : ISODate("2012-12-05T00:00:00Z"), "grade" : "A", "score" : 13 },
{ "date" : ISODate("2012-05-17T00:00:00Z"), "grade" : "A", "score" : 11 } ],
"name" : "The Movable Feast",
"restaurant_id" : "40361606" },
...
]
большое спасибо, это работает. Кажется, что я не понял использование $ unwind. –
Посетите документальную страницу .. https://docs.mongodb.org/manual/reference/operator/aggregation/unwind/, чтобы увидеть, что делает – dansasu11