Я использовал приведенный ниже код, чтобы отобразить результат двух полей отдельных коллекций: InfoMovie и Rate, имея в качестве общего поля MID.Я хочу, чтобы набор результатов отображал «Актеры» из коллекции «InfoMovie» и «Замечание» из коллекции «Оценить» в один набор результатов с помощью Mongodb.Но когда я выполняю приведенный ниже код, он просто отображает список «замечаний», но не показывает имя отмеченных актеров.[Примечание: все актеры в коллекции не отмечены. Немногие из них являются замечанием.Мы должны показать только имя отмеченного актера.] Я был бы очень благодарен, если бы кто-нибудь мог решить это.Заранее спасибо!:)
db.InfoMovie.aggregate([
{
$lookup:
{
from:"Rate",
localField:"MID",
foreignField:"MID",
as:"ActorsRating"
}
},
{
$project:{"Remark":1,"Actors":1}
}
])
Ниже приведены образцы документов: образец документа коллекции infoMovie:
{
"MID":"1",
"MovieName":"Iron man",
"Actors":"RDJ",
"RDate":"2008",
"Country":"USA",
},
{
"MovieID":"2",
"MovieName":"Dark Knight",
"Actors":"Christian Bail",
"RDate":"2007",
"Country":"USA",
}
Используемая мной версия mongod - 3.4.7.Спасибо!
образец документа инкассо Оценить:
{
"MID":1,
"ReviewedBy":"John",
"Rate":4,
"Date":"10/04/2013",
"remark":"The best Movie ever!",
},
{
"MID":2,
"ReviewedBy":"William",
"Rate":8,
"Date":"19/06/2014",
}