2017-03-25 4 views
1

Ich benutze MongoDB, also bin ich durch MongoClient.connect verbinden, aber ich muss das verwenden, für jede Route, wo ich mit der Datenbank arbeiten möchte.Ist es eine gute Übung, sich mehrmals mit der Datenbank zu verbinden?

Versucht, es auf ein Objekt zu laden, aber dann sind die Änderungen nicht sichtbar, bis der Server neu gestartet wird. Im Moment funktioniert es richtig, ich bin nur ein bisschen besorgt über die Leistung.

Gibt es einen besseren Weg, das zu tun?

Antwort

2

Die richtige Antwort ist "es kommt darauf an".

Für eine einfache Desktop-Anwendung, wo Ihr NodeJS-Programm der einzige Client ist: Sicher. Eine dauerhafte Verbindung ist in Ordnung.

Für eine Unternehmensanwendung mit 100 oder 1000 gleichzeitige Benutzer unabhängig voneinander verbinden: Nein, Sie möchten wahrscheinlich nicht die Verbindung offen halten für immer.

Eine mögliche Lösung für das letztgenannte Szenario ist Connection Pooling.

+0

Ich verstehe nicht, warum ein "neuer Benutzer" nicht sichtbar wäre, bis Sie den Server neu gestartet haben. Wenn Sie eine Änderung vornehmen, sollte Ihr Client diese Änderung sehen. Vielleicht führen Sie Ihre Anwendung in einem Browser aus (und der Browser speichert alte Daten)? Bitte denken Sie daran, eine neue Frage mit Beispielcode zu posten, der das Problem reproduziert. – paulsm4

1

Sie müssen sich nur einmal mit Ihrer DB verbinden - wenn der Server startet. Solange der Server läuft, sollte die Verbindung bestehen bleiben. Es gibt keinen Grund, sich mehrfach zu verbinden.

0

ob wie viele Benutzer Sie versuchen, 100 oder 100.000 zu behandeln, sollten Sie db nicht viele Male öffnen.

Verwandte Themen