Masalahnya terletak pada kompatibilitas luwak dengan kerumunan.
Ini memicu acara "koneksi" baru untuk setiap "utas" dan Anda menghapus dokumen di koneksi 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
});
});
Itu pasti karena banyaknya cara mengisolasi variabel global di antara utas, khususnya kumpulan koneksi. Secara default kumpulan koneksi luwak adalah 5, yang berarti tidak ada lebih dari 5 koneksi ke database sekaligus. Pengemudi membiarkannya tetap terbuka dan digunakan kembali untuk menghemat biaya koneksi.
Jika Anda memeriksa pemantauan koneksi Atlas, Anda akan melihat 100 koneksi tambahan saat Anda menjalankan skrip ini.