Node.js util Promisify Mongoose method
mongoose is already very promise-friendly. To get a promise from findOne()
, you just need to call .exec()
:
Instead of
var findUserPromise = promisify(User.findOne);...findUserPromise({ name: req.body.name }) .then(user =>...
Just call it with .exec()
:
User.findOne({ name: req.body.name }).exec() .then(user =>...
Yes as @Jim B answer, mongoose is promise friendly. you can also use async
and await
const User = require('./app/models/user');module.export = { userDetails: async (req, res, next) => { try { const user = await User.findOne({ name: req.body.name }); console.log(user); } catch(err) { console.log(err); } }}