log all queries that mongoose fire in the application
I have application using nodejs and mongodb. I have used mongoose for ODM. Now i want to log all the queries that mongoose fire during the whole application.
How to log these?
You can enable debug mode like so:
mongoose.set('debug', true);
or add your own debug callback:
mongoose.set('debug', function (coll, method, query, doc [, options]) {
//do your thing
});
This will log all executed collection methods and their arguments to the console.
You can use the following format:
mongoose.set("debug", (collectionName, method, query, doc) => {
console.log(`${collectionName}.${method}`, JSON.stringify(query), doc);
});
or any other logger of your choice:
mongoose.set("debug", (collectionName, method, query, doc) => {
logger(`${collectionName}.${method}`, JSON.stringify(query), doc);
});