Problemet ligger någonstans i mongoos kompatibilitet med trängsel.
Den startar en ny "connect"-händelse för varje "tråd" och du tar bort 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åste bero på hur myllret isolerar globala variabler mellan trådar, i synnerhet anslutningspool. Som standard är mongoose-anslutningspoolen 5, vilket betyder att det inte finns fler än 5 anslutningar till databasen åt gången. Drivrutinen håller dem öppna och återanvänder för att spara på anslutningskostnaden.
Om du kontrollerar Atlas-anslutningsövervakning kommer du att se ytterligare 100 anslutningar när du kör det här skriptet.