MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So beheben Sie MongoError:Eine beendete Sitzung kann nicht verwendet werden

In Ihrem Code wird nicht auf find() gewartet um seine Ausführung abzuschließen und fährt mit client.close() fort Aussage. Wenn also versucht wird, Daten aus der DB zu lesen, ist die Verbindung bereits beendet. Ich stand vor demselben Problem und löste es folgendermaßen:

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

BEARBEITEN:Das Ganze sollte in einem async sein Funktion.