我正在使用带有 express 和 node 的猫鼬来创建 REST API。保存新对象后,我想将该对象返回给用户。但是,不希望返回一些敏感字段,如密码、信用卡详细信息、权限、账单历史记录等。
我认为会有相当于 .select 的地方,您可以只选择一部分字段返回给用户。但是,它看起来不存在,并且“标准”只是删除您不想传回给用户的字段,如下所示:
org.save(function(err, org) {
if (err) return handleError(err, res);
orgobj = org.toObject();
delete orgobj.__v;
delete orgobj._id;
delete orgobj.billing;
delete orgobj.plans;
delete orgobj.permissions;
return res.send(orgobj);
});
有没有更有效的方法?我不喜欢这样,因为如果随后添加了一个字段,则必须有人记得专门删除它。此外,出于性能原因,我也不想“重新选择”该字段。