具有必填子文档字段的 Mongoose 架构
Posted
技术标签:
【中文标题】具有必填子文档字段的 Mongoose 架构【英文标题】:Mongoose Schema with SubDocument fields that are required 【发布时间】:2014-11-23 00:08:19 【问题描述】:跟随 Joe Eames 教程,“使用 MEAN 堆栈构建 AngularJS 和 Node.js 应用程序”,Pluralsight,他演示了一个带有文档的 Mongoose Schema 示例必填字段,如下:
var courseSchema = mongoose.Schema(
title: type:String, required:'PATH is required!',
featured: type:Boolean, required:'PATH is required!',
published: type:Date, required:'PATH is required!',
tags: [String]
);
我已经创建了自己的架构,其中包含一个有效的子文档:
......
skin : styleNum : String, headerLogo: String,
......
但是,我希望字段是必需的,并且子文档不是数组(在实体框架中它类似于关联,而不是集合),所以这是错误的:
......
skin : [
styleNum : String, required:'PATH is required!',
headerLogo: String, required:'PATH is required!'
]
......
在需要两个字段的 Mongoose 架构中创建类似“实体框架”的关联的正确语法是什么?
【问题讨论】:
【参考方案1】:没关系,想想我的错误在哪里:
skin :
styleNum: type: String, required: 'PATH is required!',
headerLogo: type: String, required: 'PATH is required!'
,
【讨论】:
以上是关于具有必填子文档字段的 Mongoose 架构的主要内容,如果未能解决你的问题,请参考以下文章
如何使用嵌套的“类型”属性在 Mongoose 模式中定义非必填字段?
Mongodb 文档中不存在的字段出现在 mongoose findById() 结果中