Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie kann ich bei MongoDB über einen Cursor iterieren?
Michael1995
myCSharp.de - Member



Dabei seit:
Beiträge: 22
Herkunft: Deutschland

Themenstarter:

Wie kann ich bei MongoDB über einen Cursor iterieren?

beantworten | zitieren | melden

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:
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().
Danke schonmal für die kommenden Anregungen
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Michael1995 am .
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3429
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,

hat FHs.next() nicht einen Rückgabewert, den Du benutzen solltest, um darauf .uname aufzurufen?

Gruß, MarsStein
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von MarsStein am .
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers
Michael1995
myCSharp.de - Member



Dabei seit:
Beiträge: 22
Herkunft: Deutschland

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers