猫鼬模式对象中的时间格式

cha*_*eed 4 mongoose node.js mongoose-schema

我有如下所示的架构对象

 schedule: [{
        time: {
            type: Date,
            required: true
        }
    }]
Run Code Online (Sandbox Code Playgroud)

当我尝试在邮递员中发布数据时

"schedule":[
      {
         "time":"18:00:00"
      }]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

验证失败:schedule.1.time:值“12:00:00”的转换为日期失败

如果我定义typeString,一切正常。

我认为我定义接受时间的类型是错误的。任何人都可以帮助我找到更好的方法来定义对象类型

Pri*_*ega 5

我有一个简单的问题要问你,你想只存储时间(没有日期组件,例如18:00:00)还是作为时间戳(日期和时间,例如2019-06-11T06:24:46.642Z)?

如果只是时间,那么不幸的是您无法将其存储在date类型化字段中,因为它接受日期或时间戳,而string类型可以接受任何任意字符串。

我建议要么在检索后以您想要的方式存储18:00:00为then 处理,要么存储键入为的字段并将其与其相应的日期一起使用。stringtimestampdate

只是为了解释该错误,它发生的原因18:00:00是由于该字段是日期类型,所以没有有效的方式来表示日期。