csv.foreach
i insertOne
wywołania są (przypuszczalnie) oba asynchroniczne, więc wywołujesz db.close()
przed zakończeniem wstawiania wstawek.
Musisz wymyślić sposób oczekiwania na wywołanie db.close()
dopóki wszystkie wywołania zwrotne Twoich wstawek nie zostaną wywołane. Jak to zrobić, zależy od tego, jak działa twój moduł csv, ale użycie czegoś takiego jak moduł asynchroniczny może pomóc w kontroli przepływu asynchronicznego.