如何从文档中排除某些字段

2024-01-10

我有以下简单的示意图:

 var userSchema = new Schema({
    name : String,
   age: Number,
   _creator: Schema.ObjectId
  });

  var User = mongoose.model('User',userSchema);

我想要做的是创建新文档并返回给客户端,但我想从其中排除“创建者”字段:

app.post('/example.json', function (req, res) {
   var user = new User({name: 'John', age: 45, _creator: 'some ObjectId'});
   user.save(function (err) {
      if (err) throw err;

      res.json(200, {user: user});     // how to exclude the _creator field?
   });
});

最后我想发送不带 _creator 字段的新创建的用户:

{
   name: 'John',
   age: 45
} 

是否可以在没有额外查找请求的情况下向猫鼬发出请求?

P.S: 最好是通过


在架构级别处理此问题的另一种方法是覆盖模型的 toJSON。

UserSchema.methods.toJSON = function() {
  var obj = this.toObject()
  delete obj.passwordHash
  return obj
}

我遇到了这个问题,正在寻找一种从我提供给客户端的 json 中排除密码哈希的方法,并且select: false破坏了我的 verifyPassword 函数,因为它根本没有从数据库中检索值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从文档中排除某些字段 的相关文章