Используйте функцию в поле `required` в mon goose .Schema используя TypeScript - PullRequest
2 голосов
/ 13 февраля 2020

Я пытаюсь создать динамическую c схему с обязательными полями на основе значения другого поля.

Пример схемы:

const foo = new Schema({
    status: {
        type: String,
        default: "in_process"
    },
    route: {
        type: String,
        default: ""
    },
    code: {
        type: Number,
        default: 0,
        required: function () {
           return this.route === "Results";
        }
    },

});

Когда я делаю это, TS уведомляет меня об этой ошибке:

Property 'route' does not exist on type 'Schema<any> | SchemaTypeOpts<any> | SchemaType'.
  Property 'route' does not exist on type 'Schema<any>'.

Как мне правильно подходить к этому сценарию?

...