gpt4 book ai didi

node.js - Mongoose 自定义模式类型日期间隔

转载 作者:可可西里 更新时间:2023-11-01 10:00:53 28 4
gpt4 key购买 nike

我的文档中有很多日期间隔类型的字段,比如这个

{
publishDate:
{
start: {type: Date, required: true},
end: {type: Date, required: true}
}
}

为了减少代码重复并使其更易于维护,如何创建自定义 Mongoose 类型,例如 DateInterval,包含两个字段:

  1. 开始
  2. 结束

并包含确保两个字段都已填写且开始在结束之前的验证器?

最佳答案

您可以在 Mongoose 中重用模式。

var DateIntervalSchema = new Schema({
start: {type: Date, required: true},
end: {type: Date, required: true}
});

var SomeSchema = new Schema({
publishDate: [DateIntervalSchema],
// ... etc
});

您还可以引用其他集合中的文档。

var SomeSchema = new Schema({
publishDate: {type: Schema.ObjectId, ref: 'DateInterval'}
});

//using populate
SomeModel.findOne({ someField: "value" })
.populate('publishDate') // <--
.exec(function (err, doc) {
if (err) ...

})

关于node.js - Mongoose 自定义模式类型日期间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24491302/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com