I am getting an error when trying to add the mongo connection to the request
Property 'dbClient' does not exist on type 'Request<ParamsDictionary>'.
I would like to have the connection available without having to add it to all my routes.
Thanks for your help
Here is my code snippet
const mongoUri = process.env.MONGO_URI ? process.env.MONGO_URI : "";
const mongoClient = new MongoClient(mongoUri);
async function createMongoConnecion() {
try {
await mongoClient.connect();
console.log("connected");
} catch (err) {
console.log("Error connecting to mongo: " + err);
} finally {
console.log("Connected to mongo successfully!");
}
}
app.use(async function (req, res, next) {
req.dbClient = mongoClient;
next();
});
routes.push(new SearchRoutes(app));
In the root folder, create the file types/express/index.d.ts
with this content:
declare global { namespace Express { interface Request { dbClient: object; } } }
Update the tsconfig.json
file:
{ "compilerOptions": { "typeRoots": ["./types"] } }