Я пытаюсь заставить работать один довольно простой код, но получаю ошибку браузера.expressjs
logs также показывает ошибку.
TypeError: Невозможно прочитать свойство 'myDate' из undefined в getReportTable (XXX \ dist \ controllers \ crm \ uploadHealthTable.js: 18: 70) на уровне.handle [as handle_request] (XXX \ node_modules \ express \ lib \ router \ layer.js: 95: 5) в следующем (XXX \ node_modules \ express \ lib \ router \ route.js: 137: 13)
import { Request, Response } from "express";
import * as mongoose from "mongoose";
import { uploadHealthTableSchema } from "../../models/crm/uploadHealthTableModel";
const reportTable = mongoose.model("USER_UPLOAD", uploadHealthTableSchema);
export class UploadHealthTable {
private myDate = new Date() ;
public getReportTable(req: Request, res: Response) {
reportTable.find({companyId: "18", uploadTime: { $gte: this.myDate.setDate(this.myDate.getDate() - 5) } },
"_id fileName status uploadTime", { sort: {uploadTime: -1} }, (err, report) => {
if (err) {
res.send(err);
}
res.json(report);
});
}
}
Вызов этой функции -
export class CRMRoutes {
public uploadHealthTable: UploadHealthTable = new UploadHealthTable() ;
public routes(app: any): void {
app.route("/support/reporttable/1/all")
.get(this.uploadHealthTable.getReportTable) ;
}
}