Le problème réside quelque part dans la compatibilité de la mangouste avec la foule.
Il déclenche un nouvel événement "connect" pour chaque "thread" et vous supprimez le document lors de la connexion -L100">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
});
});
Cela doit être dû à la façon dont throng isole les variables globales entre les threads, le pool de connexions en particulier. Par défaut, le pool de connexions mongoose est de 5, ce qui signifie qu'il n'y a pas plus de 5 connexions à la base de données à la fois. Le conducteur les garde ouverts et les réutilise pour économiser sur les coûts de connexion.
Si vous cochez la case Surveillance des connexions Atlas, vous verrez 100 connexions supplémentaires lorsque vous exécuterez ce script.