带前钩的mongoose挽救计划不起作用
我是Nodejs和Mongoose的新手,事情一切正常,直到新版发布的承诺折旧的mongoose。 我看到它build议使用蓝鸟,我正在尝试做。 我有以下代码:
app.post('/users', (req, res) => { var body = _.pick(req.body, ['email', 'password']); var user = new User(body); user.save().then(() => { return user.generateAuthToken(); }).then((token) => { res.header('x-auth', token).send(user); }).catch((e) => { res.status(400).send(e); })
});
和前钩:
UserSchema.pre('save', function (next) { var user = this; if (user.isModified('password')) { bcrypt.genSalt(10, (err, salt) => { bcrypt.hash(user.password, salt, (err, hash) => { user.password = hash; next(); }); }); } else { next(); }
});
在创build哈希和调用next()
没有任何反应,为什么会发生这种情况? 所有的帮助将不胜感激
编辑:调用永远不会进入generateAuthToken()
函数
尝试这个
var mongoose = require('mongoose'); mongoose.Promise = require('bluebird');
我原来,我的导入的mongoosevariables是不正确的,我已经解决了这个问题。