sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo solucionar MongoError:no se puede usar una sesión que ha finalizado

En su código, no espera el find() para completar su ejecución y continúa con client.close() declaración. Entonces, cuando intenta leer datos de la base de datos, la conexión ya ha finalizado. Enfrenté este mismo problema y lo resolví así:

// connect to your cluster
const client = await MongoClient.connect('yourMongoURL', { 
    useNewUrlParser: true, 
    useUnifiedTopology: true,
});
// specify the DB's name
const db = client.db('nameOfYourDB');
// execute find query
const items = await db.collection('items').find({}).toArray();
console.log(items);
// close connection
client.close();

EDITAR:todo esto debería estar en un async función.