Every Mongoose model has static helper methods to do several kinds of operations, such as retrieving a document. When a callback is passed to these helper methods, the operation is executed immediately:
const user = await User.findOne({ firstName: 'Jonh', age: { $lte: 30 }, }, (error, document) => { if (error) return console.log(error) console.log(document) })
Otherwise, if there is no defined callback, a query builder interface is returned, which can be later executed:
const user = User.findOne({ firstName: 'Jonh', age: { $lte: 30 }, }) user.exec((error, document) => { if (error) return console.log(error) console.log(document) })
Queries also have a .then function which can be used as a...