Lassen Sie uns wählen sagen, dass ich diese Werte in der Datenbank haben:Wie nur ein Element eines Arrays innerhalb eines Mongoose.find
{
name: '1',
values: [{
subname: 'awesome'
}, {
surname: 'cool'
}]
}
wie konnte ich das Array-Filter mit nur den Wert Ich habe Interesse an ?
Ich möchte als Ergebnis meiner Entdeckung erhalten:
Ich dachte, vielleicht gibt es eine Möglichkeit, mit ausgewählten ist? So etwas wie
MyCollection.find({name: '1'}).select(BLACK_MAGIC);
Wo BLACK_MAGIC
filtert meine Array mit den Werten interessiert mich, in diesem Beispiel values.subname = 'awesome'
Thx im Voraus für alle Ideen
Randbemerkung: Ich bin interessant, dies mit Mongoose Abfragen und Funktionen zu lösen, nicht eine Lösung mit einem Post-Javascript auf dem resultierenden Array
Vielleicht [$ elemMatch] (https://docs.mongodb.com/manual/reference/operator/projection/elemMatch/) könnte nützlich sein. – Mikey
Thx @Mikey, sehen Sie aus, als ob Sie Recht haben, die Beispiele der Dokumentation scheinen meine Bedürfnisse zu erfüllen ... werde lernen und es versuchen! –
@Mikey es ist eine Art von Arbeit, aber erfüllt nicht 100% was ich suche. Doing Collection.find ({something}, {$ elementMatch}) wird {_id, theElementMatched} zurückgeben, aber ich möchte {_id, alles andere, theElementMatched} zurückgeben. –