我试图将保存的对象作为请求响应返回,但我不希望 Model.save()
函数返回整个对象,它返回的信息比我想要的更多,例如_id
,__v
。
我的请求代码是这样的:
function insertUser(req, res) {
const userName = req.Body.name;
User.save({ name : userName })
.then(r => {
res.send(r);
});
}
它返回以下 JSON
给我:
{
_id: 590f529976aa6142d91870b7,
name: 'blablabla'
__v: 4
}
如何将其设置为仅返回 { name : 'blablabla' }
?
最佳答案
您可以为此编写方法:
将此方法添加到您的用户架构中: 使用此方法,您可以控制返回给客户端的内容
userSchema.methods.getPublicFields = function() {
return {
name: this.name
};
};
像这样使用它
User.save({ name : userName })
.then(r => {
res.send(r.getPublicFields);
});
关于javascript - 如何限制保存后返回的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836727/