У меня есть название коллекции фильмов, и я вставил данные, содержащие некоторые популярные данные фильмов, такие как дата выпуска, имя режиссера и movieID.
Я вставил данные из другой таблицы в ту же коллекцию фильмов, для которой я показал показПользователь фильма отправил отзыв.
Теперь вопрос в том, что мне нужно найти название и среднюю оценку каждого фильма. Вот только одна информация о фильме, которую пользователь просмотрел.
db.movies.insert([
{
Movie_ID: 1,
MovieName: 2001,
Director: "Stanley Kubrick",
Leading_Actors: [
"Daniel Richter",
"Gary Lockwood",
"Keir Dullea",
"William Sylvester"
],
Release_Date: 1968,
Oscar_Won: 1,
Country: "USA"
}
]);
db.movies.insert([
{
Movie_ID: 1,
ReviewedBy: "Joe",
Date: "6/15/2018",
Rating: 9,
Comments: "The best ever!"
},
{
Movie_ID: 1,
ReviewedBy: "Howie",
Date: "6/9/2018",
Rating: 7
}
]);
Iпопробовал, но не получилось. Мне нужно название фильма, которое, я думаю, будет получено по идентификатору фильма, а затем к столбцу оценок будет применена avg ().Вот фрагмент моего кода:
db.movies.aggregate([{$group:{_id:"$Movie_ID",AvgRate:{$avg:"$Rating"}}}]);
Но я получил movieId, потому что я использовал _id в качестве Movie_ID, но мне нужны названия фильмов.И да, я использую версию командной строки или оболочки mongo db 4.1