Republier depuis https://jira.mongodb.org/browse/NODE-1868 :
Les messages d'obsolescence sont probablement dus au fait que client.connect
est appelé plusieurs fois. Globalement, appeler client.connect
plusieurs fois actuellement (à partir du pilote v3.1.13
) a un comportement indéfini et n'est pas recommandé. Il est important de noter qu'une fois la promesse renvoyée par connect
résout, le client reste connecté jusqu'à ce que vous appeliez 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.
});
Le client maintient par défaut plusieurs connexions à chaque serveur auquel il est connecté et peut être utilisé pour plusieurs opérations simultanées*. Vous devriez pouvoir exécuter client.connect
une fois, puis exécutez vos opérations sur l'objet client
* Notez que le client n'est PAS thread-safe ou fork-safe, il ne peut donc pas être partagé entre les fourches, et il n'est pas compatible avec le cluster
du nœud ou worker_threads
modules.