Opnieuw posten vanaf https://jira.mongodb.org/browse/NODE-1868:
De beëindigingsberichten zijn waarschijnlijk omdat client.connect
wordt meerdere keren gebeld. Over het algemeen belt u client.connect
momenteel meerdere keren (vanaf bestuurder v3.1.13
) heeft ongedefinieerd gedrag en wordt niet aanbevolen. Het is belangrijk op te merken dat zodra de belofte is teruggekeerd van connect
wordt opgelost, blijft de client verbonden totdat u client.close
aanroept :
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.
});
De client onderhoudt standaard meerdere verbindingen met elke server waarmee hij is verbonden, en kan worden gebruikt voor meerdere gelijktijdige bewerkingen*. Het zou goed moeten zijn om client.connect
te draaien eenmaal, en vervolgens uw bewerkingen uitvoeren op het clientobject
* Merk op dat de client NIET thread-safe of fork-safe is, dus het kan niet worden gedeeld tussen vorken, en het is niet compatibel met de cluster
van de node of worker_threads
modules.