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