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

Dlaczego otrzymuję to przestarzałe ostrzeżenie?! MongoDB

Ponowne publikowanie z https://jira.mongodb.org/browse/NODE-1868:

Komunikaty o wycofaniu są prawdopodobnie spowodowane tym, że client.connect jest wywoływany wielokrotnie. Ogólnie rzecz biorąc, wywoływanie client.connect obecnie wiele razy (od sterownika v3.1.13 ) ma niezdefiniowane zachowanie i nie jest to zalecane. Ważne jest, aby pamiętać, że gdy obietnica zostanie zwrócona z connect rozwiązuje się, klient pozostaje podłączony do momentu wywołania client.close :

const client = new MongoClient(...);

client.connect().then(() => {
  // client is now connected.
  return client.db('foo').collection('bar').insertOne({
}).then(() => {
  // client is still connected.

  return client.close();
}).then(() => {
  // client is no longer connected. attempting to use it will result in undefined behavior.
});

Klient domyślnie utrzymuje wiele połączeń z każdym serwerem, z którym jest połączony, i może być używany do wielu jednoczesnych operacji*. Powinieneś być w porządku z client.connect raz, a następnie uruchamianie operacji na obiekcie klienta

* Zwróć uwagę, że klient NIE jest bezpieczny dla wątków ani fork-safe, więc nie może być współużytkowany przez fork i nie jest kompatybilny z cluster węzła lub worker_threads moduły.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Najlepszy sposób na hostowanie MongoDB na DigitalOcean

  2. Jak zoptymalizować wydajność MongoDB

  3. MongoDB $strcasecmp

  4. MongoDB:jak parsować datę w wersji mongoDb 3.6?

  5. grupuj według zapytań dotyczących kolekcji meteor