Я новичок в 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.
Каков оптимальный способ построения этого запроса?
Заранее спасибо!