如何为猫鼬模型的对象设置对象属性是唯一的?

Posted

技术标签:

【中文标题】如何为猫鼬模型的对象设置对象属性是唯一的?【英文标题】:How to set a object property to be unique in for a object of a mongoose model? 【发布时间】:2020-09-23 20:19:14 【问题描述】:

我有类似这样的课程的猫鼬模型

courseName:
courseDescription:
sections[SectionSchema]

现在部分架构如下

sectionName:
sectionDescription:
subsections[LectureSchema]

LectureSchema如下

youtubeURL:
lectureName:

现在我希望这个 youtube URL 对于单个课程来说是唯一的。那就是课程B可以有课程A中的youtubeURL,但不能在课程B中重复。不同类型的课程将保存在我的MongoDB课程文档中。如果有人帮助我解决这个问题,那将是非常有帮助的

【问题讨论】:

【参考方案1】:

您可以在架构中添加 unique: true 标志,这将创建一个 index 并确保您的文档中只保存一个类型


    youtubeURL: 
        type: String,
        unique: true
    

您可以阅读更多关于它的信息here。

【讨论】:

我不希望它是独一无二的,因为我只希望它对于每门课程都是独一无二的。它们可以是文档中的多个课程。一门课程可以与其他课程具有相同的 URL,但不能在同一课程中重复。

以上是关于如何为猫鼬模型的对象设置对象属性是唯一的?的主要内容,如果未能解决你的问题,请参考以下文章

如何为选择选项列表设置猫鼬模式并在选定选项上设置属性

我如何为包含数组数组的对象编写猫鼬模式?

如何为 postgresql 中的唯一(不包括顺序)JSONB 列创建约束

Firebase:如何为键生成唯一的数字 ID?

从精益查询的结果创建猫鼬模型

如何为嵌套在数组中的文档中的字段设置唯一约束?