我正在使用 Mongoose (最新版本),类型脚本(NestJS)。
我正在使用“pre”和“post”钩子收集一些关于查询的指标,以测量查询时间(包括网络延迟)。我已经添加了一个“pre”钩子,它应该启动一个计时器,该计时器将在“post”钩子中停止。缺少的一件事是每个请求的唯一标识符,我可以将其设置为'pre'钩子中的键,并使用此键在'post'钩子中标识请求。
出于某种原因,请求上似乎没有这样的标识符。
我试图使用$locals字段设置自己的标识符,但它未定义,因此无法工作。
有什么想法吗?
let count = 0;
UserSchema.pre(/.*/, async function () {
this.$locals.requestId = count; // getting undefined error since locals doesn't exists
console.log(`Pre - Request id: ${this.$locals.requestId}`);
count += 1;
});
UserSchema.post(/.*/, function () {
console.log(`Post - Request id: ${this.$locals.requestId}`);
});
1条答案
按热度按时间2w2cym1i1#
尝试使用
next
参数: