Проблемът е някъде в съвместимостта на mongoose с тълпата.
Задейства ново събитие „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
});
});
Трябва да се дължи на начина, по който тълпата изолира глобалните променливи между нишките, по-специално пула на връзките. По подразбиране наборът от връзки на mongoose е 5, което означава, че няма повече от 5 връзки към базата данни наведнъж. Драйверът ги държи отворени и ги използва повторно, за да спести разходи за връзка.
Ако проверите наблюдението на връзките на Atlas, ще видите някои допълнителни 100 връзки, когато стартирате този скрипт.