Я работаю над проектом веб-приложения, который требует от меня запроса к MongoDB для получения некоторых данных. Я действительно новичок в нереляционной БД. В основном у меня есть эти 2 коллекции со следующими схемами:
Имя актера: строка |пол: строка ecc ...
Фильмы _id |год: число |название: строка |актеры: Массив
В частности, этот массив имеет следующую структуру: [0: {0: 'имя', 1: 'фамилия'}, 1: {...} ecc ..]
Мне нужен запрос, который возвращает имя, пол и список фильмов с указанным именем актера, поэтому я попробовал функцию $ lookup, но проблема в том, что я не знаю, как получить доступ к этому, чтобы соответствоватьимя.
db.actors.aggregate([
{
$lookup:
{
from: "movies",
let: { name: "$_id"},
pipeline: [
{
$match:
{
$expr:
{
{ $eq: [ "$actors", "$$name" ] },
}
}
}
],
as: "movies"
}
}
])
Конечно, это не работает, потому что акторы - это вложенный массив. Любые решения?