node.js - 猫鼬模式对象中的时间格式
问题描述
我有如下模式对象
schedule: [{
time: {
type: Date,
required: true
}
}]
当我尝试在邮递员中发布数据时
"schedule":[
{
"time":"18:00:00"
}]
我收到以下错误
验证失败:schedule.1.time:Cast to Date 值“12:00:00”失败
如果我定义type
为String
,一切正常。
我认为我在定义接受时间的类型时是错误的。任何人都可以帮助我更好地定义对象类型
解决方案
我有一个简单的问题要问你,你想只存储时间(没有日期组件,例如18:00:00)还是时间戳(日期和时间,例如2019-06-11T06:24:46.642Z)?
如果只是时间,那么很遗憾,您不能将其存储在date
类型化字段中,因为它接受日期或时间戳,而string
类型可以接受任意字符串。
我会建议在检索后以您想要的任何方式存储18:00:00
as then 处理,或者存储一个字段类型为 as并将其与相应日期一起使用。string
timestamp
date
只是为了解释错误,它发生是因为18:00:00
没有有效的方式来表示日期,因为该字段是日期类型的。
推荐阅读
- r - 计算聚合数据的滞后
- vbscript - 删除 CSV 文件中的重复数据
- vb.net - 有没有办法单击一个按钮并出现 2 个不同的响应?
- python - 如何关闭日志缓冲区以使用 python 命令行工具实时获取日志?
- hana - 无法在 Eclipse Oxygen 中安装 SAP HANA 开发工具
- java - 接受 NULL 值并在 SQLite Java 中插入
- css - 将 css 应用于 Django 为 textarea 生成的表单对象
- unix - 如何“转换”这个 unix 命令行提示符以在 Windows cmd 中使用?
- c# - 为项数未知的多项式创建构造函数?
- c# - 保持会话活动 x 数量的请求然后关闭它?