запрашивать только текущий месяц с помощью sequelize nodejs

#mysql #node.js #npm #sequelize.js

#mysql #node.js #npm #sequelize.js

Вопрос:

Как запрашивать данные только за текущий месяц. я использую этот запрос в данный момент.

   app.get("/api/timesheet_employerId", function (req, res) {
    console.log("I am the employerId", req.user.id)
    db.TimeSheet.findAll({
      include: [
        'employee'
      ],
      order: [['check_in', 'DESC']],
    }).then(function (results) {
      let filtered_result = results.filter(element => element.employee.EmployerId === req.user.id);
      res.json(filtered_result);
    });
  });the
  

Ответ №1:

Вы должны использовать seqeulize.literal where опцию in и сравнивать первый день месяца определенной даты с первым днем месяца текущей даты, используя условие:

 (DATE_SUB(check_in,INTERVAL DAYOFMONTH(d)-1 DAY)=DATE_SUB(CURDATE(),INTERVAL DAYOFMONTH(d)-1 DAY))