javascript - 将 mongoose 对象映射到 Express js 中的 DTO 对象

标签 javascript node.js mongodb express mongoose

我想将 Moongose 结果中的对象解析为 DTO 以供我查看。我这里有一个查询示例,它返回结果 Mongoose 对象:

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;

我的 DTO 对象:

let dto = 
{
    TextMessage: null,
    _id: null

}

我的想法是将属性值从 Text 对象“自动映射”到我的 dto 对象,并丢弃时间戳等值。

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

最佳答案

这可能对你有用

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

由于 mongoose 返回的对象基本上是根据文档建模的,因此上面讲述了如何将其直接转换为纯 JavaScript 对象。

您还可以在转换后验证同步。

关于javascript - 将 mongoose 对象映射到 Express js 中的 DTO 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39468550/

相关文章:

node.js - 如何处理需求循环?

javascript - 如何遍历 HTML

python - 在 Django-NoRel 中保存嵌套模型会出现 "can' t 编码“错误

java - MEAN Stack - 查询和请求延迟?

javascript - localStorage 不断添加 '0' 。 (jScript 和 HTML5)

javascript - Python/Flask/HTML - 在新窗口而不是主页中呈现 HTML

javascript - jQuery 日期选择器函数 : datepicker not a function

node.js - 从node.js调用sh脚本

node.js - MongoError : Topology is closed, 尽管已建立数据库连接,但请连接

javascript - ng-transclude 会停止 Angular.js 中的事件传播吗?