javascript - Mongoose 日期字段 - 将默认设置为 date.now + N days

标签 javascript mongoose

在 Mongoose 模式中,例如:

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'
	}]
});

在“结束”字段的行中,默认日期应设置为 +7 天。我可以添加预保存 Hook 并将其设置在那里,但想知道是否有办法在默认字段中内联执行此操作。

最佳答案

default: () => Date.now() + 7*24*60*60*1000

这样就够了

关于javascript - Mongoose 日期字段 - 将默认设置为 date.now + N days,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29899208/

相关文章:

javascript - 我有这个错误: Cannot read property 'value' of null, I dont understand why

页面加载时发生的javascript onclick

mongodb - 无法在 Mongo 中更新数组

node.js - 我想更新用户个人资料

javascript - 仅替换函数第一次出现的情况

javascript - 如果元素有类添加类到另一个元素

mongodb - Mongoose 模式,如何在一个模式中嵌套对象?

node.js - NodeJS : Hapi + Mongoose | return on a callback not working

node.js - Mongoose 的分页结果,带有引用文档的过滤器

javascript - 如何在 redux 中完成操作后获取数据?