猫鼬明确包括“隐藏”字段

时间:2018-10-01 16:03:38

标签: mongoose

出于安全原因,我在select: false的密码字段中添加了User,因此默认情况下不会对其进行查询。但是,我想知道在登录请求中查询用户时如何显式包含它。

我的代码现在看起来像这样:

User.findOne({email: 'abc'})
  .then(user => {
    ...
  }).catch(next);

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在猫鼬的select属性文档中提到的查询级别覆盖select: false

  /**
     * Sets default select() behaviour for this path.
     * Set to true if this path should always be included in the results, false
     * if it should be excluded by default. This setting can be overridden at
     * the query level.
     */
    select?: boolean | any;

因此可以使用select('+password')字段来完成此操作,我已经对其进行了测试,并且可以正常工作。