ich einen Datensatz haben, die etwa wie folgt aussieht:Probleme beim Erstellen Abfrage in MongoDB mit Unterabfrage
{
"id": "02741544",
"items": [{
"item": "A"
}]
}, {
"id": "02472691",
"items": [{
"item": "A"
}, {
"item": "B"
}, {
"item": "C"
}]
}, {
"id": "01316523",
"items": [{
"item": "A"
}, {
"item": "B"
}]
}, {
"id": "01316526",
"items": [{
"item": "A"
}, {
"item": "B"
}]
}, {
"id": "01316529",
"items": [{
"item": "A"
}, {
"item": "D"
}]
},
Ich versuche, eine Abfrage zu fertigen, die mir eine Ausgabe geben wird, die aussieht wie dies:
{
"item": "A",
"ids": [{
"id": "02741544"
}, {
"id": "02472691"
}, {
"id": "01316523"
}, {
"id": "01316526"
}, {
"id": "01316529"
}]
}, {
"item": "B",
"ids": [{
"id": "02472691"
}, {
"id": "01316523"
}, {
"id": "01316526"
}]
}, {
"item": "C",
"ids": [{
"id": "02472691"
}]
}, {
"item": "D",
"ids": [{
"id": "02472691"
}]
},
Grundsätzlich versuche ich, die eindeutigen Elemente aus dem Elementarray im Objekt zu erhalten und dann ein Array von IDs für jedes Objekt zurückgeben, das dieses Element in seinem Elementarray hat.
Es könnte erwähnenswert sein, wenn 'Elemente' 'doppelte item' Werte haben können und Sie nicht wollen, Duplikate IDs im Ergebnis können Sie 'addToSet' anstelle von' push' verwenden. –
@AminJ Guter Punkt – chridam
Dies gibt die gewünschte Ausgabe so weit wie der Inhalt geht, aber es gibt die Ergebnisse nicht als ein Array von Objekten zurück. Wie wird das erreicht? – TWLATL