Использование ExpressJs (в качестве веб-инфраструктуры для Node.js) и Mongoose (для моделирования MongoDB) для создания веб-службы.У меня возник вопрос о том, как лучше всего обработать возвращаемый объект из некоторых методов mongoose (сохранить, найти, findByIdAndDelete и т. Д.).
Как сказано в документации mongoose, Model.prototype.save () вернет «Promise, undefined». Возвращает undefined, если используется с обратным вызовом или Promise в противном случае.Для более: https://mongoosejs.com/docs/api.html#model_Model-save
Итак, я хочу знать, какой из них мы должны использовать или в каком случае один лучше, чем другой?
Как пример использования ES7 Async / Await:
const mongoose = require('mongoose');
const Person = mongoose.model('person');
module.exports.savePerson = async (req,res) => {
await new Person( {...req.body} )
.save( (err, doc)=> {
err ? res.status(400).json(err) : res.send(doc);
});
}
Как пример использования ES6 Promise:
const mongoose = require('mongoose');
const Person = mongoose.model('person');
module.exports.savePerson = (req,res) => {
const person = new Person( {...req.body} )
person.save()
.then(person => {
res.send(person);
})
.catch(err => {
res.status(400).json(err)
});
}