Tengo este código a continuación, funciona correctamente, pero ¿debo cerrar la conexión después de devolver los datos? En caso afirmativo, ¿cómo cerrar la conexión?
// project.db.js const { MongoClient, ObjectId } = require("mongodb"); const { mongo_uri, dbName } = require("../config/constants"); // connect method function connection() { return MongoClient.connect(mongo_uri); } // async function which read data exports.allProject_tasks = async (space_id) => { try { const result = await connection(); const db = await result.db(dbName); const payload = await db .collection("tasks") .find({ user_space_id: ObjectId(space_id), }) .toArray(); return payload; } catch { return 400; } };Siempre es mejor cerrar la conexión cuando el trabajo se realiza desde el lado de la aplicación para liberar los recursos de conexión asignados en el lado del servidor de la base de datos (mongoDB asignó ~ 1 MB por conexión, lo que significa que si abre 1000 conexiones, su servidor asignará ~ 1 GB solo para conexiones) , y si deja que el recurso se libere por los tiempos de espera de conexión, esto podría generar problemas cuando el servidor tiene una carga alta si el tiempo de espera es mayor.