Problém spočívá někde v kompatibilitě mongoose s davem.
Vyvolá novou událost „připojit“ pro každé „vlákno“ a při připojení smažete dokument 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
});
});
Musí to být kvůli způsobu, jakým throng izoluje globální proměnné mezi vlákny, zvláště pak poolem připojení. Ve výchozím nastavení je fond připojení mongoose 5, což znamená, že neexistuje více než 5 připojení k databázi najednou. Ovladač je nechává otevřené a opakovaně je používá, aby ušetřil náklady na připojení.
Pokud zaškrtnete Sledování připojení Atlas, uvidíte při spuštění tohoto skriptu dalších 100 připojení.