MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come risolvere MongoError:Impossibile utilizzare una sessione terminata

Nel tuo codice, non aspetta il find() per completare la sua esecuzione e passa a client.close() dichiarazione. Quindi, quando prova a leggere i dati dal db, la connessione è già terminata. Ho affrontato lo stesso problema e l'ho risolto in questo modo:

// 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();

EDIT:tutto questo dovrebbe essere in un async funzione.