数据传输对象(DTO)是否用Node.js / Express / MongoDB构buildREST API?

我是Node.js的新手,我是后端开发新手,所以这可能是一个愚蠢的问题。

比方说,我有这样的模型:

var mongoose = require('mongoose'); var UserSchema = new mongoose.Schema({ name: String, birthDate: Date, email: String, profileImageUrl: String }); mongoose.model('User', UserSchema); module.exports = mongoose.model('User'); 

我有一个userController函数来获取所有这样的用户:

 getUsers : function(req, res){ User.find({}, function (err, users) { if (err) return res.status(500).send("There was a problem finding the users."); res.status(200).send(users); }); }, 

但是,假设我不想在我的列表中返回birthDate(好吧,我将使用投影),但是我想添加一些额外的属性,我要从其他文档中计算或填充,例如 – numberOfSentMessages,numberOfFollowers等

据我所知,这是一个.net开发人员将使用数据传输对象(DTO)或ViewModel,将有我想返回的属性的情况下,如下所示:

 UserDTO - name - email - profileImageUrl - numberOfSentMessages - numberOfFollowers 

但是,在Node教程中我还没有看到类似的东西,所以我的猜测是Node友好的方式是使用某种function方法。

那是对的吗? 在Node / Express中实现这种情况的常见方法是什么?