首页 > 解决方案 > 从 API / MongoDB 检索用户集合但排除密码字段?

问题描述

我正在构建一个检索文章的 api。我的数据库中也有用户,并且希望有一个返回用户的端点。/api/users/:userid. 这将返回以下内容:

{
"articles": [], //array w. references to articles the user has written
"_id": "5b1321321bcda0e3364251d7e4a", 
"email": "user@email.com",
"password": "$2a$1231241gi14k41k42bk12bh3k127iP/k1LAqwPdbgF/bXXpRia",
"__v": 0
}

-- 但是,我不确定在 API 中返回(加密的)密码是否是个好主意。我可以以某种方式排除此字段,还是建议将电子邮件 + user_ids 存储在 mongodb 上的单独集合中,或者通常如何处理此类事情?

标签: node.jsmongodbrestsecurityexpress

解决方案


您可以使用Project Fields to Return from Query从您的响应中排除密码字段。

db.users.find( { email: "user@email.com" }, { password: 0} )

推荐阅读