【发布时间】:2017-08-11 23:36:05
【问题描述】:
我是 Node.js 开发的新手。尽管我对异步函数有一些经验,但回调仍然让我很着迷。
我正在使用 mongoose 的 .find() 函数在数据库中的用户集合中进行搜索。问题是我也想显示这些用户,但我不想显示数据库中所有可用的属性。
...
function(req,res){
User.find(function(err,users){
res.json(users);
})
}
...
这就是我目前在数据库中获取所有用户的方式,但这也会返回密码和其他敏感信息。我想知道将这些数据“转换”为相同对象的最有效方法,无需某些属性或更改属性,例如添加由 firstName + lastName 组成的“fullName”;
因此,当返回所有用户时,我希望拥有类似
...
function(req,res){
User.find(function(err,users){
res.json(users.convertToOtherModel());
})
}
...
不确定“convertToOtherModel”函数是否可以放置在某个地方以便它对用户起作用......但任何关于如何做到这一点的想法都会有所帮助!
【问题讨论】:
-
不应将
function(err, users)作为回调传递给User.find() -
你是对的@singsuyash,我的错。但这不是手头的问题,只是一个错字。尽管如此,还是感谢您的关注:)。现在编辑:)
-
覆盖架构的
toJSON方法。详情见我的回答。
标签: javascript node.js mongodb mongoose