如何使用 mongoosejs 用鉴别器覆盖父模式字段
Posted
技术标签:
【中文标题】如何使用 mongoosejs 用鉴别器覆盖父模式字段【英文标题】:How to override parent schema field with discriminators using mongoosejs 【发布时间】:2016-12-12 23:48:13 【问题描述】:我有一个父架构帖子:
title:
type: String,
required: true
,
authors:
type: [String],
required: true
我想使用 discriminator() mongoose 函数创建一个继承于此的子模式,但我想在作者字段上添加额外的验证以确保数组不为空。
我该怎么做?
另外,谁能指出我关于猫鼬鉴别器的好文档。官方文档对我的搜索没有帮助。
【问题讨论】:
【参考方案1】:这对你有帮助吗?
var Parent = mongoose.model('Parent', new mongoose.Schema(
title: ...,
author: ...
))
var Child = Parent.discriminator('Child', new mongoose.Schema(
author:
default: ['something']
))
请注意,您必须在子级之前包含父级(显然:o)
【讨论】:
啊,这样父属性就可以被子属性覆盖了吗? 是的,您可以插入新字段或将整个字段重写为其他类型 但要小心覆盖字段。如果您发现自己在区分的类中经常覆盖字段并更改类型,您可能需要重新考虑您的设计,并可能将该字段的定义推送到“子类”。以上是关于如何使用 mongoosejs 用鉴别器覆盖父模式字段的主要内容,如果未能解决你的问题,请参考以下文章
OpenApi - 有没有办法在使用 springdoc-openapi-maven-plugin 生成的合同中使用带有鉴别器部分的组合模式?