Het probleem ligt ergens in de compatibiliteit van mangoesten met massa.
Het start een nieuwe "connect"-gebeurtenis voor elke "thread" en u verwijdert het document op 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
});
});
Het moet zijn vanwege de manier waarop menigte globale variabelen isoleert tussen threads, met name verbindingspools. Standaard is de mongoose-verbindingspool 5, wat betekent dat er niet meer dan 5 verbindingen met de database tegelijk zijn. De driver houdt ze open en hergebruikt om verbindingskosten te besparen.
Als u Atlas-verbindingen controleert, ziet u ongeveer 100 extra verbindingen wanneer u dit script uitvoert.