MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Verwendung von mongoDB in Express-Routern

Sie sollten Ihre Verbindung einmal herstellen und in allen Handlern verwenden.

Im Moment stellen Sie bei jeder einzelnen Anfrage eine erneute Verbindung zur Datenbank her, selbst bei Anfragen, die die Datenbank überhaupt nicht verwenden. Außerdem rufen Sie next() auf, bevor Sie überhaupt darauf warten, dass die Verbindung hergestellt wird.

Datenbankverbindungen sollen dauerhaft sein - keine einmaligen Dinge, daher werden Sie mit Ihrem Ansatz wahrscheinlich eine sehr schlechte Leistung erzielen, und ich bin mir nicht einmal sicher, warum Sie das tun möchten. Gab es Probleme mit einer einzelnen Verbindung? Ich glaube nicht, dass es helfen würde, Ihre Datenbank so zu hämmern. Wenn überhaupt, kann es die Dinge nur noch schlimmer machen.

Wenn Sie mit dem nativen MongoDB Node.js-Treiber eine Verbindung zu Mongo herstellen Es gibt einige Optionen, die Sie verwenden können, wie zum Beispiel:

  • poolSize - Legen Sie die maximale poolSize für jeden einzelnen Server oder jede Proxy-Verbindung fest (Standard ist 5 )
  • autoReconnect - Bei Fehler neu verbinden (Standard ist true )

Einige andere interessante Optionen sind:reconnectTries , reconnectInterval , keepAlive , connectTimeoutMS , socketTimeoutMS .

Sie können die Werte dieser Optionen ändern, wenn Sie mit den Standardeinstellungen nicht zufrieden sind.

Weitere Informationen finden Sie unter: