node.js - MongoError:无法从 BSON 类型字符串转换为日期
问题描述
我正在使用从 mongoDb 中选择日期的节点 js API。我在 mongodb 中有一个存储日期时间值的字段
{
conDate : "2020-12-09 00:00:00"
}
我想将其转换为 12/09/2020(m/d/Y 格式)。我试过下面的代码
this.gameModel.aggregate(
[
{
$project: {
monthDayYear: { $dateToString: { format: "%m/%d/%Y", date: "$conDate" } },
}
}
]
)
但这会导致以下错误
MongoError:无法从 BSON 类型字符串转换为日期
如何在节点 js 中将日期时间转换为所需的格式。
解决方案
您永远不应该将日期/时间值存储为字符串,使用适当的Date
对象。
将字符串转换为Date
,然后可以提取
monthDayYear: { $dateToString: { format: "%m/%d/%Y",
date: { $dateFromString: { dateString: "$conDate", format: "%Y-%m-%d %H:%M:%S"} } }
},
推荐阅读
- trix - ActionText:链接到附件而不是预览
- google-cloud-platform - 谷歌云数据存储进行备份
- lua - 更改/更新局部变量的值(Lua upvalue)
- javascript - 获取后未使用自定义 parseJson 函数定义的数据
- javascript - 与 nodejs express 的 WebSocket 连接
- database - 我正在尝试在 vb.net 中创建一个下一步按钮来浏览我的访问数据库
- ruby-on-rails - 我可以在同一个 postgres 服务器中的 2 个数据库之间进行逻辑复制吗?
- python - 在python中对齐一组痕迹
- java - Spring Boot 2.0.9 和 2.1.0 之间 eclipselink ddl 自动生成问题
- html - react react-bootstrap 按钮无法设置自定义高度。只能用css设置宽度