Как проверить структуру схемы, которая вложена в json, используя другой класс как определенный тип данных - PullRequest
0 голосов
/ 17 октября 2019

Я не знаю, является ли это правильным способом определения типа данных.

Я также пытался использовать аннотацию @mapProp().

class Temp extends Typegoose {
    @prop({ required: true, _id: false})
    unit!: string;

    @prop({ required: true, _id: false})
    value!: number;
}
class Temp2 extends Typegoose {
    @prop({ required: true,_id: false})
    unit2!: number;

    @prop({ required: true, _id: false})
    value2!: number;

    @prop({ required: true, _id: false})
    option2!: string;

}
class Temp3 extends Typegoose {
    @prop({ required: true, _id: false})
    unit3!: string;
}
export class UserModel extends Typegoose {

    @prop()
    field_type!: string;

    @prop({ _id : false, required: true})
    field_value!: Temp | Temp2 | Temp3;
}

Я хочу получить field_value параметры только этих трех видов.

Если:

"field_type" = "temp1"

Тогда:

"field_value" = { "unit2":32, "value2":3, "option2": "hello" }

В противном случае:

какое-то сообщение об ошибке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...