I don’t know if my understanding is correct. When node triggers an IO operation, it will set up a thread for IO operation. This thread will use the previously established database connection (essentially a socket connection with the database instance) to communicate and return the event to the main thread after success. Because there are multiple threads for IO operations, it is necessary to introduce database connection pool in case of large concurrency.
Node driver already has connection pool, whether you want to use it or not.
In fact, all officially supported MongoDB drivers are created according to a unified standard and behave similarly, so in fact, all drivers used use connection pool to manage connections.