node.js - Mongoose 以 ddmmyyyy 格式保存日期

标签 node.js mongodb date momentjs

我的 mongo 数据库中有一些类型为日期的字段。

使用 Node 和 Express,我可以使用“时刻”以我想要的任何格式提取和显示日期。

当我使用“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");
  }
 });
});

关于node.js - Mongoose 以 ddmmyyyy 格式保存日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52174332/

相关文章:

python - 使用 pymongo 在 mongodb 上插入 $currentDate

performance - MongoDB 在使用 $all 和 $elemMatch 时扫描整个索引

date - 使用 awk 管道数据将日期时间转换为纪元

macos - 如何在 Mac OS 上使用 date 命令获取当前星期几?

ios - Swift DateComponentsFormatter 删除前导零但在分钟位置至少保留一位数字

node.js - 如何重构使用相同函数但在调用函数中还包含变量的 promise catch?

javascript - 如何从 Node js项目中的文件夹中递归导出所有内容?

javascript - 将 JSON 数据从 Node.js 存储到 MongoDB

javascript - nodeJS - ioredis NPM 模块 - 订户事件有问题

node.js - Braintree 如何更改订阅生命周期?