Nodejs Mongoose Exports函数返回2个值
2022-10-16
26
我正在做一个项目,我编写的服务正在运行,但它没有给出我想要的响应值。我想制作咖啡。每种咖啡都有特定的公司。每次我制作咖啡时,我都希望公司在其模型中也制作这些咖啡。
这是我的服务
exports.createCoffee = async (coffee, companyId) => {
return await CoffeeModel.create(coffee).then((value) => {
return CompanyModel.findByIdAndUpdate(companyId, {
$push: { coffees: value._id },
});
});
};
这是我的控制器
exports.createCoffee = async (req, res) => {
try {
const newCoffee = await coffeeService.createCoffee(
req.body,
req.body.company._id
);
res.status(201).json(newCoffee);
} catch (error) {
res.status(500).json(error);
}
};
当我制作咖啡时,它会返回公司的信息作为响应。我该如何解决这个问题。
1个回答
如果您想获得新创建的咖啡,那么您需要从内部承诺中返回它,而不是公司更新,也许在更新公司之后,然后您就可以构建您的回应。
试试这个:
exports.createCoffee = async (coffee, companyId) => {
return await CoffeeModel.create(coffee).then(async(value) => {
await CompanyModel.findByIdAndUpdate(companyId, {
$push: { coffees: value._id },
});
return value; // or whatever you want to return..
});
};
traynor
2022-10-16