Mongoose 日期字段 - 将默认设置为 date.now + N 天
Mongoose date field - Set default to date.now + N days
在猫鼬模式中,例如:
var EventSchema = new Schema({
title: {
type: String,
default: '',
trim: true,
required: 'Title cannot be blank'
},
description: {
type: String,
default: '',
trim: true
},
start: {
type: Date,
default: Date.now,
required: 'Must have start date - default value is the created date'
},
end: {
type: Date,
default: Date.now + 7 Days, // Date in one week from now
required: 'Must have end date - default value is the created date + 1 week'
},
tasks: [{
type: Schema.ObjectId,
ref: 'Task'
}]
});
在 "end" 字段的行中,默认日期应设置为 +7 天。我可以添加预保存挂钩并将其设置在那里,但想知道是否有办法在默认字段中内联执行此操作。
您可以像这样将转换为毫秒的 7 天添加到当前日期
default: new Date(+new Date() + 7*24*60*60*1000)
甚至像这样
default: +new Date() + 7*24*60*60*1000
更新
请查看下面的@laggingreflex 评论。您需要将函数设置为默认值:
default: () => new Date(+new Date() + 7*24*60*60*1000)
default: () => Date.now() + 7*24*60*60*1000
这就够了
在猫鼬模式中,例如:
var EventSchema = new Schema({
title: {
type: String,
default: '',
trim: true,
required: 'Title cannot be blank'
},
description: {
type: String,
default: '',
trim: true
},
start: {
type: Date,
default: Date.now,
required: 'Must have start date - default value is the created date'
},
end: {
type: Date,
default: Date.now + 7 Days, // Date in one week from now
required: 'Must have end date - default value is the created date + 1 week'
},
tasks: [{
type: Schema.ObjectId,
ref: 'Task'
}]
});
在 "end" 字段的行中,默认日期应设置为 +7 天。我可以添加预保存挂钩并将其设置在那里,但想知道是否有办法在默认字段中内联执行此操作。
您可以像这样将转换为毫秒的 7 天添加到当前日期
default: new Date(+new Date() + 7*24*60*60*1000)
甚至像这样
default: +new Date() + 7*24*60*60*1000
更新
请查看下面的@laggingreflex 评论。您需要将函数设置为默认值:
default: () => new Date(+new Date() + 7*24*60*60*1000)
default: () => Date.now() + 7*24*60*60*1000
这就够了