Problemet ligger et sted i mongoose-kompatibilitet med skare.
Den udløser en ny "connect"-begivenhed for hver "tråd", og du sletter dokumentet på connect https://gist.github.com/wootwoot1234/49cb7d082850d93f8cd03da164644cfb#file-index-js-L100 :
db.once('open', async function() {
await Message.deleteOne(messageQuery); // <=== remove it from here to fix the problem
throng({
worker: start,
count: 50,
lifetime: Infinity
});
});
Det må være på grund af den måde, hvorpå throng isolerer globale variabler mellem tråde, især forbindelsespool. Som standard er mongoose-forbindelsespuljen 5, hvilket betyder, at der ikke er mere end 5 forbindelser til databasen ad gangen. Driveren holder dem åbne og genbruges for at spare på forbindelsesomkostningerne.
Hvis du markerer Atlas-forbindelsesovervågning, vil du se nogle ekstra 100 forbindelser, når du kører dette script.