将 Mongoose 文档中的默认日期设置为 now + [一些增量]
Posted
技术标签:
【中文标题】将 Mongoose 文档中的默认日期设置为 now + [一些增量]【英文标题】:Set default date in Mongoose document to now + [some increment] 【发布时间】:2015-08-12 00:27:51 【问题描述】:正在考虑将文档的默认时间戳设置为现在 + 1 分钟/小时/天。我将如何修改它来做到这一点:
date: type: Date, default: Date.now
【问题讨论】:
【参考方案1】:您可以使用函数定义 default:
var minuteFromNow = function()
var timeObject = new Date();
timeObject.setTime(timeObject.getTime() + 1000 * 60);
return timeObject;
;
new Schema(
date: type: Date, default: minuteFromNow
)
-- 编辑--
您还可以使用 momentjs 库,该库在日期对象上有一些很棒的方法,特别是适用于您的用例的 add()
函数:
var moment = require('moment');
var hourFromNow = function()
return moment().add(1, 'hour');
;
new Schema(
date: type: Date, default: hourFromNow
)
/* OR */
new Schema(
date: type: Date, default: function()return moment().add(1, 'hour');
)
【讨论】:
当我在做default: hourFromNow
时,我的 IDE 是 Webstorm 正在黑字 default
,你知道为什么会这样吗,这是某种错误吗?跨度>
以上是关于将 Mongoose 文档中的默认日期设置为 now + [一些增量]的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose 日期字段 - 将默认设置为 date.now + N 天