Przekształcenie własności wewnątrz mangusty schematu

głosy
0

Zajmuję się zestaw modeli, muszę przekształcić nazwę przychodzące do kanonicznej link. To jest mój model

import mongo from 'mongoose'

const schema = new mongo.Schema({
    name: { 
        type: String, 
        required:  [true, 'El nombre de la marca es necesaria' ],
        unique:    [true, 'Ya existe esta marca'],
        minlength: [3, 'Al menos 3 caracteres'],
        maxlength: [100, 'Máximo 100 caracteres'],
    },
    link: { 
        type: String,
        default: function() {
            return this.name
            .normalize(NFD)
            .replace(/[\u0300-\u036f]/g, )
            .replace(/\s+/g, '-')
            .toLowerCase()
        }
    },
    active: { type: Boolean, default: true }

}, { collection: 'moto-brands' })

export const MotoBrandModel = mongo.model( 'MotoBrand', schema )

W tym momencie Typescript pokazać mi błąd, serwer też. Błąd jest oznaczony nathis.name

Własność „name” nie istnieje w rodzaju „SchemaTypeOpts | schemat | SchemaType”.

Własność „name” nie istnieje w rodzaju „” SchemaTypeOpts

To może być symulacja

Incoming request
{ name: '   El Pingüino maléfico ' }

Model mangusta musi przekształcić się el-pinguino-maleficoi zestaw do linkindeksu jako wartość domyślną. Funkcja działa dobrze, ale to, co robię źle?

Utwórz 03/12/2019 o 00:02
źródło użytkownik
W innych językach...                            


1 odpowiedzi

Przekształcenie własności wewnątrz mangusty schematu

głosy
0

Zajmuję się zestaw modeli, muszę przekształcić nazwę przychodzące do kanonicznej link. To jest mój model

import mongo from 'mongoose'

const schema = new mongo.Schema({
    name: { 
        type: String, 
        required:  [true, 'El nombre de la marca es necesaria' ],
        unique:    [true, 'Ya existe esta marca'],
        minlength: [3, 'Al menos 3 caracteres'],
        maxlength: [100, 'Máximo 100 caracteres'],
    },
    link: { 
        type: String,
        default: function() {
            return this.name
            .normalize("NFD")
            .replace(/[\u0300-\u036f]/g, "")
            .replace(/\s+/g, '-')
            .toLowerCase()
        }
    },
    active: { type: Boolean, default: true }

}, { collection: 'moto-brands' })

export const MotoBrandModel = mongo.model( 'MotoBrand', schema )

W tym momencie Typescript pokazać mi błąd, serwer też. Błąd jest oznaczony nathis.name

Własność „name” nie istnieje w rodzaju „SchemaTypeOpts | schemat | SchemaType”.

Własność „name” nie istnieje w rodzaju „” SchemaTypeOpts

To może być symulacja

Incoming request
{ name: '   El Pingüino maléfico ' }

Model mangusta musi przekształcić się el-pinguino-maleficoi zestaw do linkindeksu jako wartość domyślną. Funkcja działa dobrze, ale to, co robię źle?

Odpowiedział 03/12/2019 o 00:02
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more