将Mongoose文档中的默认日期设置为现在+ [某些增量]

时间:2015-05-29 08:12:42

标签: mongodb mongoose

查看将文档的默认时间戳设置为现在+ 1分钟/小时/天。我将如何修改它来执行此操作:

date: { type: Date, default: Date.now }

1 个答案:

答案 0 :(得分:5)

您可以使用以下函数定义 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');} }
})