У меня есть этот документ mongodb:
{
"_id" : ObjectId("5e382d27bb4bd5ce3ef5fb1d"),
"code" : "25116",
"datecrea" : "2015-11-14 18:23:24",
"datemodif" : "2015-11-14 18:23:24",
"datas" : {
"songId" : 25116,
"artistId" : 128,
"albumId" : 1822,
"name" : "Free Me",
"songTrack" : 10,
"genres" : [
"24"
],
}
}
Я хочу сделать запрос, который ищет песню по ее жанру, который является array
жанрами, а затем получить мне artist
и album
, относящийся к этой песне, на основе полей datas.artistId
и datas.albumId
.
Я пробовал этот запрос:
db.getCollection('songs').aggregate([
{ $elemMatch: { "datas.genre": 31 } },
{ $lookup: { from: "artists", localField: "datas.artisId", foreignField: "code", as: "artist" } },
{ $unwind: "$artist"}
])
Но он возвращает ошибку, зная, что я полностью новость для mongodb. Спасибо всем за помощь