在expressjs中将moongoose对象映射为DTO对象

Map moongose object to DTO object in expressjs

本文关键字:对象 映射 DTO moongoose expressjs 中将      更新时间:2023-09-26

我想为我的视图从moongoose结果解析对象到dto。我这里有一个查询示例,它返回一个结果猫鼬对象:

const returnedData = (err, result) => {  
        //Result object is a schema from Moongose 
        cb(err, result);
    };
Text.findOne({}).exec(returnedData); 

我的文本模式示例:

const mongoose = require('mongoose');
const textSchema = new mongoose.Schema({
    TextMessage: String,
    ZIndex: Number,
    Color: String,
    FontSize: String,
    FontFamily: String 
}, { timestamps: true , collection: 'Text'});

const Text = mongoose.model('Text', textSchema);
module.exports = Text;

My DTO object:

let dto = 
{
    TextMessage: null,
    _id: null
}

我的想法是"自动映射"属性值从文本对象到我的dto对象,并丢弃值,如时间戳。

有什么想法或库可以自动实现这个吗?谢谢!

这可能对您很有用

http://mongoosejs.com/docs/api.html document_Document-toObject

由于mongoose返回的对象基本上是按照Document建模的,因此上面告诉了它如何将其直接转换为普通javascript对象。

你也可以在转换后验证同步