Servus zusammen,
anbei hochgeladen die Aufgabenstellung.
habe mich jetzt einigermaßen viel mit MongoDB beschäftigt, doch die Lösung will einfach nicht klappen. Meine Grundidee, einfach die Unis in die variable FHs speichern (=Cursor). Und anschließend diese Unis durchgehen, alle Forscher dazu finden. und die einzelnen Forscher in der verschachtelten Schleife ausgeben.
Irgendwie denke ich, stimmt das FHs.uname nicht ganz? Dies war eine Aufgabe davor möglich, da ich eine Variable verwendet habe (die ich durch findOne-Methode generiert habe aber).
zur Info: uniname ist Feldname der Collection forscher, uname ist Feldname der Collection uni.
Mein Code:
var FHs = db.uni.find({gruendungsdatum: {$lt: "1975-1-1"}});
while (FHs.hasNext()) {
FHs.next();
var FHForscher = db.forscher.find({uniname: FHs.uname});
while(FHForscher.hasNext()) {
printjson(FHForscher.next());
}
}
Aufgabe:
Zitat |
Die Namen aller Forscher aller Hochschulen mit Gründungsdatum vor dem 1.1.1975. Auch hier sind zwei Schritte notwendig: zuerst einer Variablen die gesuchten Hochschulen zuweisen (über find(), das erzeugt einen Cursor). Dann den Cursor über die gefundenen Hochschulen iterieren lassen (Methoden hasNext() und next() und dabei für jede Hochschule ihre Forscher finden (erzeugt wiederum einen Cursor) und danach über diesen zweiten Cursor die Namen der Forscher ausgeben (Methoden hasNext(), next() und printjson(). |