node.js - Mongoose 以 ddmmyyyy 格式保存日期
问题描述
我的 mongo 数据库中有几个Date类型的字段。
使用 Node 和 Express,我可以使用“ moment ”以我想要的任何格式提取和显示日期。
当我使用“ findByIdAndUpdate ”将它们保存回来时,日期将被反转或返回无效错误。
message: 'Cast to date failed for value "29-12-2018" at path
我的问题是表单以 ddmmyyyy 格式返回日期,而我认为 mongo 需要以 mmddyyyy 格式发回日期。
必须有一个简单的解决方案。
解决方案
我设法使用 Moment 包编写了解决方案。在上面的原始帖子中查看我的最终代码
router.put("/user/:id", function(req, res){
req.body.user.weddingDate = moment(req.body.user.weddingDate, 'DD-MM-YYYY').format('MM-DD-YYYY');
User.findByIdAndUpdate(req.params.id, req.body.user, function(err, updatedUser)
{
if(err){
console.log(err);
res.redirect("/admin");
} else {
res.redirect("/admin");
}
});
});
推荐阅读
- flutter - 无键盘颤动并保持焦点
- javascript - 从链接向部分添加和删除类
- condor - openGate 作业无法通过 HTcondor 提交到远程机器
- c# - MachineKey.Unprotect 从 .NET Core 引用时导致异常
- java - 如何在Java中实现20字节的单调/顺序增加计数器
- python - SSL:CERTIFICATE_VERIFY_FAILED 证书验证失败:自签名证书 (_ssl.c:1076) Python ssl 和套接字
- php - 多对多自引用如何正确加入
- java - 如何根据元素将一串重复元素和不同值的部分排序到不同的数组中?
- gulp - Nunjucks 模板刷新
- python - 作为二阶部分的传递函数