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

Warum erhalte ich diese veraltete Warnung?! MongoDB

Reposting von https://jira.mongodb.org/browse/NODE-1868:

Die Verfallsmeldungen sind wahrscheinlich darauf zurückzuführen, dass client.connect wird mehrfach angerufen. Insgesamt Aufruf von client.connect mehrfach aktuell (ab Treiber v3.1.13 ) weist ein undefiniertes Verhalten auf und wird nicht empfohlen. Es ist wichtig zu beachten, dass sobald das Promise von connect zurückgegeben wird löst, bleibt der Client verbunden, bis Sie client.close aufrufen :

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.
});

Der Client unterhält standardmäßig mehrere Verbindungen zu jedem Server, mit dem er verbunden ist, und kann für mehrere gleichzeitige Operationen verwendet werden*. Sie sollten client.connect problemlos ausführen können einmal, und führen Sie dann Ihre Operationen auf dem Client-Objekt

aus

* Beachten Sie, dass der Client NICHT Thread- oder Fork-sicher ist, sodass er nicht über Forks geteilt werden kann und nicht mit dem cluster des Knotens kompatibel ist oder worker_threads Module.