J'ai des problèmes pour implémenter une requête findOneAndUpdate.Mongoose - FindOneAndUpdate - Erreur de type
//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);
});
});
});
Voici les deux méthodes sur mon userController et sur mon userDAO. Une fois que je les exécute, il se déconnecte un "findOneAndUpdate.exec n'est pas une méthode". Les choses étranges, c'est que je retourne des méthodes moongose comme ça.
Qu'est-ce que je fais de mal?