我正在尝试使用Mongoose应用程序创建node.js的跟踪范围。我想获得的一种具体跟踪是,一个Mongoose查询,更新或document.save方法需要花费多长时间。
我所知道的是,猫鼬在这些方法上有前后钩子:https://mongoosejs.com/docs/middleware.html
但是,我正在努力寻找一个很好的示例,该示例如何在各个钩子之间的上下文中保留计时器,以便获得对一个操作和相同操作执行的跟踪。有什么好方法可以做到这一点吗?
答案 0 :(得分:2)
schema.pre('find', function() {
this._startTime = Date.now();
});
schema.post('find', function() {
if (this._startTime != null) {
console.log('Runtime in MS: ', Date.now() - this._startTime);
}
});
引用来源: https://github.com/Automattic/mongoose/issues/6376#issuecomment-385083763
答案 1 :(得分:0)
使用Insomnia,这将使您知道查询运行的总时间,但是大多数时间取决于您的网络以及您是使用本地mongoDB还是在线。希望对您有帮助