假设我有两个集合/模式。一个是带有用户名和密码字段的用户架构,然后,我有一个博客架构,它在作者字段中引用了用户架构。如果我使用猫鼬做类似的事情
Blogs.findOne({...}).populate("user").exec()
我也会填充博客文档和用户,但是如何防止 Mongoose/MongoDB 返回密码字段?密码字段经过哈希处理,但不应返回。
我知道我可以省略密码字段并在一个简单的查询中返回其余字段,但是我如何使用填充来做到这一点。另外,有什么优雅的方法可以做到这一点吗?
此外,在某些情况下,我确实需要获取密码字段,例如当用户想要登录或更改密码时。
原文由 Luis Elizondo 发布,翻译遵循 CC BY-SA 4.0 许可协议
http://mongoosejs.com/docs/populate.html
JohnnyHKs 使用模式选项回答可能是这里的方法。
另请注意,
query.exclude()
仅存在于 2.x 分支中。