Reenviando desde https://jira.mongodb.org/browse/NODE-1868:
Es probable que los mensajes de desaprobación se deban a que client.connect
está siendo llamado varias veces. En general, llamar a client.connect
varias veces actualmente (a partir del controlador v3.1.13
) tiene un comportamiento indefinido y no se recomienda. Es importante tener en cuenta que una vez que la promesa regresó de connect
se resuelve, el cliente permanece conectado hasta que llame a 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.
});
El cliente por defecto mantiene múltiples conexiones con cada servidor al que está conectado y puede usarse para múltiples operaciones simultáneas*. Debería estar bien ejecutando client.connect
una vez y luego ejecutar sus operaciones en el objeto del cliente
* Tenga en cuenta que el cliente NO es seguro para subprocesos ni bifurcaciones, por lo que no se puede compartir entre bifurcaciones y no es compatible con el cluster
del nodo o worker_threads
módulos.