如何制作一个包含猫鼬所需不同字段的数组?
Posted
技术标签:
【中文标题】如何制作一个包含猫鼬所需不同字段的数组?【英文标题】:How can I make an array with different fields required in mongoose? 【发布时间】:2019-10-27 22:33:35 【问题描述】:我正在创建一个 RESTAPI,但是在编译 npm 时会抛出一条错误消息,说明
架构配置无效
我曾尝试在官方文档以及 *** 上寻找解决方案,但他们都没有回答我的问题。
const TeacherSchema = new Schema(
WorkExperience:[
startDate:String,
endDate:String,
companyName:String,
postName:String,
required:true
],
);
代码应该可以编译,但它抛出了一个错误
【问题讨论】:
此架构似乎无效,因为它将required: true
声明为数组中的一个字段 - 但是您提供 true
作为值而不是架构类型。看看这个post,它应该会告诉你如何解决你的问题。
正如@StockOverflaw 评论的那样,您的错误是将required
定义为数组对象的第五个字段,而不是每个字段的属性(或必需的)。无论如何,请记住,根据需要定义字段只会影响在数组中插入对象时,但可以插入数组中没有项目的文档。
您可以阅读this以获得更清晰的了解
【参考方案1】:
您还可以为每个字段添加要求。我认为没有办法根据数组的需要添加验证。
const workExperienceDetails = new Schema(
startDate: type: String, required: true ,
endDate: type: String, required: true
companyName: type: String, required: true
postName: type: String, required: true
);
const TeacherSchema = new Schema(
workExperience:[workExperienceDetails],
);
【讨论】:
感谢您提供的答案,我试图寻找解决方案,但在父架构中定义架构时是否有任何问题以上是关于如何制作一个包含猫鼬所需不同字段的数组?的主要内容,如果未能解决你的问题,请参考以下文章