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

MongoError:topologi blev ødelagt under brug med NextJs api

Det problem, du har, kommer fra denne linje:

  await client.close();

Fra dokumenterne:

Det betyder, når du close klienten lukker alle andre åbne forbindelser også. I dit tilfælde begynder #2 og #4 at køre kort efter #1 og #3 (men før de er færdige), og du lukker forbindelsen på dem, mens de stadig kører.

Også fra dokumenterne:

Det ville være en bedste praksis at have noget tilstandsstyring for dine statsløse funktioner (jeg ved det), have en forbindelsestjeneste, der bare giver dine statsløse funktioner forbindelsen, det ville også være nemmere at håndtere fejl på denne måde.

Læs mere om dette her og i nodejs driverdokumenter

En hurtig (og meget suboptimal) løsning på dit problem ville være at definere forbindelsen i funktionen sådan:

// 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. Meteor upsert tilsvarende

  2. Hvor er AccountKey for CosmosDB i Azure Portal

  3. Når du sikrer en kommentarformular og relateret API-slutpunkt, skal input så renses, valideres og kodes i browser, server eller begge dele?

  4. Problemer med at starte MongoDB på Windows