如何在架构定义中处理对暗淡类型的引用?

时间:2019-12-19 08:57:51

标签: mongodb mongoose mongoose-schema

假设我正在设计一个在线课程系统
我有一个Book模式,TestCard模式

bookSchema
{
  bookName:String,
  cards:{type:['ObjectId'],ref:'Card'}
}

Card 
{
  content:String  
}

我的困惑是,如果有不同的卡,例如。完形填空卡和选择卡,结构可能会像这样

ClozeCard
{
  content:String,
  anwser:String
}

ChoiceCard
{
  content:String,
  choices:String[],
  anwser:String
}
  1. 我想将Card ref定义保留在Book模式中,这是一种单方面的关系,我需要使所有卡都属于一本书。
  2. 我不希望在Card Schema中定义所有可能的属性,因为这些属性是多余且不灵活的
  3. 我不想为每种卡片类型创建收藏夹,那样会使Book模式中的Card ref变暗。

这种情况下的最佳做法是什么?

hmmm ....我正在考虑使用Dynamic References.。但是我真的不想为每种卡片类型创建这么多收藏集

0 个答案:

没有答案