具有必填子文档字段的 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() 结果中

如何使用具有必填字段的 JSON 模式验证 http PATCH 数据

BigQuery 将查询结果附加到具有必填字段的表中

如何使用 Mongoose 查询过滤到数组类型字段中具有指定值的文档?