gpt4 book ai didi

node.js - Mongoose:将 mongo 集合的日期字段增加一个月

转载 作者:太空宇宙 更新时间:2023-11-04 00:39:44 26 4
gpt4 key购买 nike

我需要根据要求按日、周、月更新mongo集合的日期字段。我用下面的代码计算出了一天和一周的时间:

设置第二天:

col.findOneAndUpdate(
{ _id : item._id }
, { $set : { nextRun : new Date(item.nextRun.getTime() + 86400000}}

设置下周的同一天:

col.findOneAndUpdate(
{ _id : item._id }
, { $set : { nextRun : new Date(item.nextRun.getTime() + (86400000*7))}}

如何以类似的方式更新月份?

注意:我不想乘以 30,因为如果当前月份有 31 天,则更新的字段会少一天。

例如如果该字段的值为 2016-05-24T11:30:00.000Z ,则更新应将其更改为 2016-06-24T11:30:00.000Z。

尝试使用getMonth(),但没有成功。

最佳答案

添加月份如下:

var nextRunDate = new Date(item.nextRun);
nextRunDate.setMonth(nextRunDate.getMonth() + 1);
col.findOneAndUpdate(
{ _id : item._id },
{ $set : { nextRun : nextRunDate } }
);
<小时/>

更好的方法是使用日期处理库,例如 moment ,您可以在其中使用 add() 方法

var nextRunDate = moment(item.nextRun).add(1, 'months').toDate();
col.findOneAndUpdate(
{ _id : item._id },
{ $set : { nextRun : nextRunDate } }
);

关于node.js - Mongoose:将 mongo 集合的日期字段增加一个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37388552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com