【发布时间】:2023-04-05 19:07:01
【问题描述】:
我的服务中有以下代码:
var currentDate = new Date();
return this._authHttp
.get(
`localhost:3000/listJobs?filter={"where": {"expireDate":{"$gte": new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDay())}}}`
)
.map((res: Response) => res.json())
.catch(this.handleError);
还有我的 API:
module.exports.listJobs = (req, res) => {
var queryFilter = {};
let condition = {};
if (req.query.filter) {
queryFilter = JSON.parse(req.query.filter);
}
if (queryFilter.where) {
condition = queryFilter.where;
}
myCollection.find(condition).exec(function (err, result) {
if (err) {
sendJsonResponse(res, 400, err);
} else {
sendJsonResponse(res, 200, result);
}
});
};
我想要做的是:拥有一个通用 API 路由来支持动态查询过滤器,假设在另一种情况下,我的服务中有另一个函数将不同的过滤器传递给同一路由。
我想知道的是我们如何通过ObjectId(), new Date(), etc...?
【问题讨论】:
标签: node.js mongodb express mongoose mean-stack