首页 > 解决方案 > 保存猫鼬对象时如何在收到结果后隐藏某些属性?

问题描述

我知道当我执行这样的查找查询时,我可以使用 select 从猫鼬模型中隐藏一些属性:

Product.find()
    .select("-__v")
    .then((products) => {}

但是在执行时save().select()不起作用,并给出错误

“TypeError:(中间值).save(...).select 不是函数”

const user = await new User({
        email: email,
        password: hashedPassword
      }).save().select("-password")

成功保存用户对象后,我想从用户对象中删除密码。如何使用猫鼬做到这一点?

标签: node.jsmongoose

解决方案


只需使用以下属性更新您的用户模型。

password: {
    type: String,
    select: false //prevent password to show in query results
},

推荐阅读