我使用带有mongoose的nodejs,我希望在更新文档之前获取用户密码。我在更新之前使用schema.pre()
方法进行了调用,但我不知道如何在此方法中获取用户密码。
这是我的UserSchema.pre()
方法:
UserSchema.pre('update', function(next){
var user = this;
next();
});
和我的架构:
var UserSchema = new mongoose.Schema({
email: {
type: String,
required: true,
minlength: 1,
trim: true,
unique: true
},
password: {
type: String,
required: true,
minlength: 6
},
firstName: {
type: String,
required: true,
minlength: 1,
trim: true
},
lastName: {
type: String,
required: true,
minlength: 1,
trim: true
},
tokens: [{
access:{
type: String,
required: true
},
token:{
type: String,
required: true
}
}]
});
希望你能帮助我, 谢谢。
答案 0 :(得分:0)
UserSchema.pre('update', function(next){
var user = this;
console.log(user._update); // contains the fields to be be updated
next();
});
在您更新单个用户时,我建议您使用pre findOneAndUpdate
挂钩。
答案 1 :(得分:0)
这对我有用,
UserSchema.pre('update', function(next){
var user = this['_doc'];
console.log(user); // contains the fields to be be updated
next();
});