【发布时间】:2015-08-12 00:27:51
【问题描述】:
正在考虑将文档的默认时间戳设置为现在 + 1 分钟/小时/天。我将如何修改它来做到这一点:
date: { type: Date, default: Date.now }
【问题讨论】:
正在考虑将文档的默认时间戳设置为现在 + 1 分钟/小时/天。我将如何修改它来做到这一点:
date: { type: Date, default: Date.now }
【问题讨论】:
您可以使用函数定义 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,你知道为什么会这样吗,这是某种错误吗?跨度>