有没有办法可以在创建或查找一个mongoose查询时屏蔽某些字段在文档中返回。
例如,user
文档包含name
username
password
。我希望在查询中不返回密码字段。现在,我必须通过在承诺中返回文档后将它们设置为undefined来手动屏蔽字段。
let user = await User.create(req.body);
user.password = undefined;
res.send(user);
在我看来,一旦你必须开始管理不同控制器之间的许多不同领域,上述解决方案是不可行的。我可以想象添加一个新字段并忘记屏蔽该字段,然后您已将敏感数据暴露给客户端。
理想的是,如果我可以创建一个方法,我们可以调用它User.create(req.body).getAllowedFields
,这将返回我有权使用的字段列表。
我对MongoDb很新,所以我想这完全有可能