Я пытаюсь определить следующую модель mon goose для случая. Странно, я не вижу надлежащей документации о том, что я пытаюсь сделать. В конце я хочу иметь только 1 коллекцию "Case", документы которой являются вложенными объектами, подобными этому:
const CaseSchema = new Schema({
clientDataType: {
type: String,
required: true,
enum: [
'dataSchema1',
'dataSchema2',
],
},
clientData: {
type: "Either dataSchema1 or dataSchema2",
required: true,
},
caseDataType: {
type: String,
required: true,
enum: ['type1', 'type2', ...]
},
caseData: {
type: "One of 6 types of cases again they are schemas",
required: true,
}
}, { timestamps: true });
А вот макет для dataSchema1 - то же самое относится к dataSchema2
const dataSchema1 = new Schema({
field1: {
type: String,
required: true,
},
fiedl2: {
type: String,
required: true,
},
field3: {
type: "One of subschemas of my choice",
required: true,
},
...
}, { timestamps: true });
Is mon goose способен сделать это, или я должен пропустить mon goose для этого типа модели случая. По сути, в конце я не хочу отправлять этот объект и позволить mon goose проверить его для меня.