MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Korzystanie z mongoDB w routerach Express

Powinieneś nawiązać połączenie raz i używać go we wszystkich programach obsługi.

Teraz to, co robisz, to ponowne łączenie się z bazą danych przy każdym żądaniu, nawet w przypadku żądań, które w ogóle nie korzystają z bazy danych. Poza tym wywołujesz next() zanim nawet czekasz na nawiązanie połączenia.

Połączenia z bazą danych mają być trwałe – a nie jednorazowe, więc przy takim podejściu prawdopodobnie uzyskasz bardzo słabą wydajność i nie jestem nawet pewien, dlaczego miałbyś to robić. Czy miałeś jakieś problemy z jednym połączeniem? Nie wydaje mi się, żeby takie ubijanie bazy danych pomogło. Jeśli już, może tylko pogorszyć sytuację.

Gdy łączysz się z Mongo za pomocą natywnegosterownika MongoDB Node.js istnieje kilka opcji, z których możesz skorzystać, na przykład:

  • poolSize - Ustaw maksymalny rozmiar puli dla każdego indywidualnego połączenia serwera lub proxy (domyślnie 5 )
  • autoReconnect - Połącz ponownie w przypadku błędu (domyślnie true )

Inne interesujące opcje to:reconnectTries , reconnectInterval , keepAlive , connectTimeoutMS , socketTimeoutMS .

Możesz zmienić wartości tych opcji, jeśli nie jesteś zadowolony z ustawień domyślnych.

Aby uzyskać więcej informacji, zobacz:




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Prawidłowo zamknij połączenie mangusty, gdy skończysz

  2. obliczanie średniej w Mongoose

  3. MongoDB - Błąd:dokument musi mieć _id przed zapisaniem

  4. Mongoose znajdź element w tablicy

  5. Jak zamówić agregację MongoDB z dopasowaniem, sortowaniem i limitem?