【发布时间】:2020-01-26 03:48:06
【问题描述】:
我对 Node.js 和 MongoDB 还很陌生,但在构建查询时遇到了麻烦。
例如,我想根据请求过滤对象的日期。这就是我所做的:
var startDate = req.body.startDate;
var endDate = req.body.endDate;
let findParams = {
userId:req.userId
};
if(startDate){
findParams["start"] = { $gt: new Date(startDate)};
}
if(endDate){
findParams["start"] = { $lt: new Date(endDate)};
}
if(startDate && endDate){
findParams["start"] = { $gt: new Date(startDate),$lt: new Date(endDate)};
}
console.log(findParams);
WorkTime.find(findParams)
我必须每次都根据用户发送的内容构建“开始”参数。如果用户发送两个值(startDate 和 endDate),我必须再次构建 params 对象。
构建此查询的最佳方式是什么?
提前致谢!
【问题讨论】: