Il problema sta da qualche parte nella compatibilità mangusta con la folla.
Attiva un nuovo evento "connect" per ogni "thread" e tu elimini il documento su 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
});
});
Deve essere dovuto al modo in cui throng isola le variabili globali tra i thread, in particolare il pool di connessioni. Per impostazione predefinita, il pool di connessioni mongoose è 5, il che significa che non ci sono più di 5 connessioni al database alla volta. Il driver li tiene aperti e li riutilizza per risparmiare sui costi di connessione.
Se controlli il monitoraggio delle connessioni Atlas, vedrai alcune 100 connessioni extra quando esegui questo script.