假设我有两个集合/方案。一个是带有用户名和密码的用户架构字段,然后,我有一个博客架构,该博客架构在作者字段中引用了用户架构。如果我用猫鼬做类似的事情
Blogs.findOne({...}).populate("user").exec()
我将同时拥有Blog文档和用户,但是如何防止Mongoose / MongoDB返回密码字段?密码字段已散列,但不应返回。
我知道我可以省略密码字段,并在一个简单的查询中返回其余字段,但是我该如何用填充来做到这一点。另外,有什么优雅的方法吗?
另外,在某些情况下,我确实需要获取密码字段,例如当用户想要登录或更改密码时。
.populate('user' , '-password')
http://mongoosejs.com/docs/populate.html
JohnnyHK的使用Schema选项的答案可能是解决此问题的方法。
另请注意,query.exclude()仅存在于2.x分支中。
query.exclude()