Инструменты пользователя

Инструменты сайта


nodejs:mongo:transformacija_polja_modeli

трансформация поля модели после выбоки ( _id => id )

const {Schema, model} = require('mongoose');//подключаем из библиотеки монго,модульсоздания схемы - Schema,
// и модуль регистрации моделей - model
 
const course = new Schema({//Создаем схему БД для модели
    title: {//Поле title с опциями
        type:String,//тип поля - строка
        required: true,//Обязателное поле
    },
    price: {
        type: Number,//тип поля число
        required: true//обязательное поле
    },
    img: String,//тип поля строка, альтернативная запись если доп. опций нету
 
    userId:{//Связка с таблицей User
        type: Schema.Types.ObjectId,
        ref: 'User'
    }
});
 
/**
 * Создаем доп. метод для трансформации названия поля -_id( _id => id )
 */
course.method('toClient', function(){//Срабатывает при вызове модели
    const course = this.toObject();
    course.id = course._id;//создаем новое свойство
    return course;
});
 
module.exports = model('Course', course);//Возврощаем схему, на нее можно вешать различные методы ,
// в частности update, save, delete и т.д.
nodejs/mongo/transformacija_polja_modeli.txt · Последние изменения: 2023/01/12 12:18 (внешнее изменение)