Теперь существует проблема с сопоставлением даты, поскольку mongodb будет соответствовать полной дате, включая метку времени, поэтому во время сохранения документа установите метку постоянного времени вместе с датой.
Давайте разберемся на примере ..
Когда вы сохраняете документ, в это время установите значение orderCreatedOn
, как показано ниже, Отредактировано
exports.createOrder = async (req, res, next) => {
req.body['orderCreatedOn'] = new Date().toISOString().split("T")[0] + "T18:30:00.000Z";
const order = new Order({ ...req.body, });
try {
await order.save();
res.status(201).json({ message: "Order created successfully!", order: order, orderId: order._id });
}
catch (e) {
res.send(e);
}
};
В результате ваша дата в базе данных будет сохранена как 2020-01-15T18:30:00.000Z
Так что теперь, когда вы найдете дату до 7 дней, добавьте приведенный ниже фрагмент в свой контроллер поиска.
var someDate = new Date();
var numberOfDaysToSubtract = -7; //this refers to date of seven days before
someDate.setDate(someDate.getDate() + numberOfDaysToSubtract);
console.log("Date of seven days before ===>" , someDate);
var date = someDate.toISOString().split("T")[0] + "T18:30:00.000Z";
date = new Date(date);
//And the rest code is same.
console.log(" =======+++> ", new Date(date));
Надеюсь, вы получили решение.