Problém, který máte, pochází z tohoto řádku:
await client.close();
Z dokumentů:
To znamená, když close
klient, všechna ostatní otevřená připojení se také uzavřou. Ve vašem případě #2 a #4 začnou běžet krátce po #1 a #3 (ale předtím, než jsou hotová), a spojení na nich uzavřete, dokud jsou stále spuštěny.
Také z dokumentů:
Nejlepším postupem by bylo mít nějakou správu stavu pro vaše bezstavové funkce (já vím), mít službu připojení, která pouze dává vašim bezstavovým funkcím připojení, bylo by také snazší tímto způsobem spravovat chyby.
Přečtěte si více o tomto zde a v dokumentech ovladače nodejs
Rychlým (a velmi suboptimálním) řešením vašeho problému by bylo definovat připojení ve funkci takto:
// 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();
};