Итак, я решаю проблемы с некоторыми JavaScript датами. Я работаю с NodeJS Mon goose и React. Я хотел бы обновить все даты в базе данных, но я хотел бы делать это каждые выходные и сохранять часы, не меняя их вообще.
Допустим, у меня есть день, как 22 января 2020 года, и в выходные дни дата обновится до 29 января, а затем до 5 февраля. Все в базе данных сохранено как ISODate("2020-01-16T16:27:15.003Z")
, и у меня есть код для обновления этих дат, когда я захочу. У меня возникли проблемы с определением того, как тело setDate()
должно выглядеть так, чтобы автоматически менять месяцы и дни, сохраняя при этом один и тот же час каждый раз, поэтому 22.01.2020 в 16:00 в выходные дни изменится на 29.01.2020 4:00 ВЕЧЕРА.
Я уже пытался использовать momentjs
для обработки дат, но он не работает с моей базой данных.
cron.schedule("* * * * * *",async function() {
const courses = await Course.find({});
courses.forEach(course => {
const newDate = () => {
let date = new Date();
return date.toISOString();
};
Course.updateMany({
"nextClasses": course.nextClasses === course.startingDate ? course.startingDate :
course.nextClasses
},{$set: {"nextClasses": newDate()}},(err) => console.log(err))
});
}
Это код, отвечающий за изменение дат, сейчас он каждую секунду меняет все до текущей даты (специально, для проверки)