使用适用于 Node JS 的 mongodb 本机驱动程序记录所有查询
Posted
技术标签:
【中文标题】使用适用于 Node JS 的 mongodb 本机驱动程序记录所有查询【英文标题】:Log all queries using mongodb native driver for Node JS 【发布时间】:2020-03-05 09:27:51 【问题描述】:我对 MongoDB 比较陌生。起初我使用猫鼬,但现在我决定放弃它。我立即遇到了以下问题:我无法理解如何将所有执行的查询打印到控制台。
在 mongoose 中,这可以像编写 mongoose.set('debug', true) 一样简单,但是如何使用本机驱动程序来做到这一点?
我在文档中阅读了有关 Logger 的信息,但输出对我来说似乎完全不可读。是否可以调整输出或者我应该以某种方式解析它?
【问题讨论】:
【参考方案1】:您应该使用 mongo 的 Logger
类(参见 the official API doc):
const connect = async () =>
console.log("Connecting to database...");
try
let client = await MongoClient.connect(uri, opts);
console.log("Database connected.");
Logger.setLevel("debug");
console.log("MongoDB Logger set to DEBUG");
catch (e)
console.log("ERROR: " + e.message);
;
Logger
类有多个选项(信息、调试、错误)。他们将记录不同类型的数据库操作/事件。
【讨论】:
以上是关于使用适用于 Node JS 的 mongodb 本机驱动程序记录所有查询的主要内容,如果未能解决你的问题,请参考以下文章
基于NodeJS+Express+mongoDB+Bootstrap的全栈式工程化开发前后端分离博客系统实战
适用于 Node.js 的 MySQL 驱动程序适用于 Windows?