Ich versuche, meine Datenbank abzufragen ein bestimmtes Element aus einem Array zu bekommen, dann nur einen Teil dieses Arrays zu projizieren, hier ist der Code, den ich versucht:
{ $project : {
name: 1,
language : 1 ,
season: [{
$filter: {
input: "$seasons",
as: "s",
cond: { $eq: [ "$$s.number", saison ] }
}
}, {
$project: {
'episodes.number': 1
}
}]
} }
Ich möchte nur die Jahreszeit erhalten, die mit der Nummer übereinstimmt, dann projiziere nur das Zahlenfeld.
Hier ist mein Schema:
{
name: {type: String},
seasons: [{
number: Number,
episodes: [{number: Number, videos: [
{
provider: String,
quality: String,
language: String,
added: { type: Date, default: new Date(1510272000000) }
}
]}]
}]
}
Meine aktuelle Abfrage einen Fehler generiert: MongoError: Unbekanntes Ausdruck ‚$ Projekt‘, wenn ich die Filter ohne das $ Projekt tun, nachdem es funktioniert, aber dann ist es wieder ein ganzes Array statt dessen, was ich gerade brauche. Vielen Dank.