sql >> Database >  >> NoSQL >> MongoDB

MongoError oplossen:kan een sessie die is beëindigd niet gebruiken

In uw code wacht het niet op de find() om de uitvoering te voltooien en gaat naar de client.close() uitspraak. Dus tegen de tijd dat het probeert om gegevens van de db te lezen, is de verbinding al verbroken. Ik had hetzelfde probleem en loste het als volgt op:

// 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:dit hele ding zou in een async moeten staan functie.



  1. Update meerdere elementen met verschillende waarde in Mongoose

  2. Gegevens groeperen met behulp van mongo-sjabloon

  3. mongoDB:C#-stuurprogramma V2 Een item in een geneste verzameling bijwerken

  4. Waarom wordt er een _id met ObjectID toegevoegd wanneer $push van MongoDB wordt gebruikt om een ​​nieuw object aan een array toe te voegen?