verwendetes Datenbanksystem: MongoDB
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:
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().
Danke schonmal für die kommenden Anregungen 😉
Hallo,
hat FHs.next()
nicht einen Rückgabewert, den Du benutzen solltest, um darauf .uname
aufzurufen?
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Servus,
genau das war der Haken.
musste nur Folgendes machen:
var FH = FHs.next();
und dann Zugriff darauf: FH.uname
Danke dir, habe ich vor 2 Tagen aber schon geschafft 😁 👍