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
* 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.