gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:03:29 28 4
gpt4 key购买 nike

我有以下简单的 shema:

 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
}

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

P.S:最好由

制作

最佳答案

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

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

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

关于javascript - 如何从文档中排除某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11160955/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com