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

Jaki jest właściwy sposób obsługi połączeń z mangustą za pomocą express.js?

Jeśli już połączyłeś się z bazą danych, once zdarzenie nie zostanie ponownie uruchomione. Baza danych była już podłączona dla całego procesu NodeJs, gdy była połączona globalnie (poza funkcją).

Wywołanie mongoose.connect('mongodb://localhost/test'); nawiązuje połączenie i otwiera je.

Tak więc, zamiast otwierać go przy każdym wywołaniu funkcji (co byłoby nieefektywnym sposobem interakcji z MongoDB), connect natychmiast po uruchomieniu aplikacji NodeJs i rozważ, że wystąpi okres, w którym połączenie może być niedostępne (ponieważ jest asynchroniczne) lub nie uruchamiaj aplikacji (listen ) do momentu nawiązania połączenia (lub przekroczenia limitu czasu). W przypadku Mongoose, do momentu nawiązania połączenia, wszystkie polecenia są buforowane (ale może to nie być zachowanie, którego oczekujesz). Możesz użyć open zdarzenie, jeśli chcesz wiedzieć, kiedy połączenie zostanie zakończone.

Połączenie znajduje się tutaj:mongoose.connection jeśli używasz connect funkcja tworzenia połączenia.

Po otwarciu połączenia możesz go użyć ze swojego popSingleData funkcja bez użycia once zdarzenie i wywołanie zwrotne. Pula połączeń jest utrzymywana automatycznie.

Więcej informacji o połączeniach znajdziesz tutaj .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd:brak otwartych połączeń w Db._executeQueryCommand Node.js

  2. MongoConnectionException — nie udało się połączyć z:localhost:27017

  3. Mongodb :operator $in vs wiele pojedynczych zapytań

  4. MongoDB PHP przy użyciu $in z tablicą

  5. Serializacja MongoDB find() powraca do nieanonimowej tablicy JSON przy użyciu PyMongo