sql >> Database >  >> NoSQL >> MongoDB

MongoError:topologie is vernietigd tijdens gebruik met NextJs api

Het probleem dat u ondervindt, komt van deze regel:

  await client.close();

Uit de documenten:

Dit betekent wanneer u close de client sluiten ook alle andere open verbindingen. In jouw geval beginnen #2 en #4 kort na #1 en #3 te draaien (maar voordat ze klaar zijn), en sluit je de verbinding erop terwijl ze nog actief zijn.

Ook uit de documenten:

Het zou een best practice zijn om wat statusbeheer te hebben voor uw staatloze functies (ik weet het), een verbindingsservice te hebben die uw staatloze functies alleen de verbinding geeft, het zou ook gemakkelijker zijn om fouten op deze manier te beheren.

Lees meer over deze hier en in de nodejs-stuurprogrammadocumenten

Een snelle (en zeer suboptimale) oplossing voor uw probleem zou zijn om de verbinding binnen de functie als volgt te definiëren:

// remove the definition from here

export default async (req, res) => {
     // and move it here
     const client = new MongoClient(process.env.DB_URI, {});
     await client.connect();

      .....

     await client.close();
};



  1. ObjectID slaat geen hexadecimale waarde op

  2. Hoe stuur ik een object van MongoDB naar jade?

  3. Voeg een string toe aan het einde van een bestaand veld in MongoDB

  4. Django + Mongo + Docker krijgen pymongo.errors.ServerSelectionTimeoutError