【发布时间】:2018-02-19 01:31:17
【问题描述】:
我在实现 findOneAndUpdate 查询时遇到了麻烦。
//UserController
UserDAO
['findOneAndUpdate'](userId, {'passwordToken': passwordToken, 'resetPasswordExpires': resetPasswordExpires})
.then( (user) => {
return MailController.forgotPasswordMail(user, hostUrl);
})
.then( (updated) => {
return res.status(200).json(updated);
})
.catch(error => {
return res.status(400).json(error);
});
//UserDAO
userSchema.static('findOneAndUpdate', (userId, query) => {
return new Promise((resolve, reject) => {
if (!_.isObject(query)) {
return reject(new TypeError('query is not a valid Object.'));
}
User
.findOneAndUpdate(
{_id: userId},
query,
{upsert: true}
)
.exec((err, updated) => {
err ? reject(err) : resolve(updated);
});
});
});
这是我的 userController 和我的 userDAO 上的两个方法。一旦我执行它们,它就会注销“findOneAndUpdate.exec 不是方法”。 奇怪的是,我正在以这种方式返回月光方法。
我做错了什么?
【问题讨论】:
标签: node.js typescript mongoose mongoose-schema