【发布时间】:2020-04-15 17:36:24
【问题描述】:
我是 Node.js 的新手,我正在为我的一个项目开发一个 REST API。
在这种情况下,我有一个发布请求,需要将一些表单数据存储到数据库中。有些值来自表单数据,有些值是基于该表单值生成的。例如,基于持续时间值,它需要根据该值计算最终数据。如果持续时间为 3 个月,则最终日期应根据当前日期更改。如果duration值为一年,则应根据当前日期的duration更改最终日期。
我开发了一个名为releasedfinaldate() 的函数来获取日期,但我无法将该函数值传递给对象。如何将该值传递给文章对象?请帮忙..
router.post('/', (req, res, next)=>{
const articles = new Articles({
//articleId: new mongoose.Types.ObjectId(),
first_name: req.body.first_name,
last_name: req.body.last_name,
address: req.body.address,
id_number: req.body.id_number,
phone_number: req.body.phone_number,
amount: req.body.amount,
weight: req.body.weight,
duration: req.body.duration,
addtional_details: req.body.addtional_details,
interest_paid: req.body.interest_paid,
speacial_circumstances: req.body.speacial_circumstances,
released_date: req.body.released_date,
released_amount: req.body.released_amount,
date: moment().format('MMMM Do YYYY, h:mm:ss a'),
released_final_date: releasedfinaldate(req.body.duration)
});
function releasedfinaldate(duration) {
const oneyear = moment().add(365, 'days').calendar();
const threemonths = moment().add(90, 'days').calendar();
const released_final_date= null;
if (duration === 1) {
return oneyear
} else if (duration === 3) {
return threemonths
}
}
//console.log(releasedfinaldate(3))
articles.save()
.then(result =>{
console.log(result);
})
.catch(err => console.log(err));
res.status(200).json({
message:'New Article successfully created.',
createdArticle: articles
});
});`
【问题讨论】:
-
究竟是什么不起作用?您是否收到某种错误消息?如果是这样,请发布该错误。
-
你正在传递对象中的值,虽然很奇怪,但你正在传递,
released_final_date: releasedfinaldate(req.body.duration) -
您的代码可能会异步执行,这只是它发生的原因
标签: javascript node.js rest api express