仅在mongoose模式中设置时间

时间:2017-04-21 16:21:31

标签: node.js mongoose

如何在mongoose架构中设置时间? 就像我们在sequelize schema

中所做的那样
 startTime: DataTypes.TIME,
    endTime: DataTypes.TIME

是他们在mongoose中以任何方式设置mongoose模式的时间吗?

3 个答案:

答案 0 :(得分:0)

这是一个简单的日期,没有其他类似的事情 - > startTime : Date

以下是mongoose的所有可用数据类型的文档:http://mongoosejs.com/docs/schematypes.html

如果您只需要日期时间,可以使用getter来实现:http://mongoosejs.com/docs/2.7.x/docs/getters-setters.html

答案 1 :(得分:0)

我之前尝试过同样的事情,但失败了。

我能够提出的最佳解决方案是在插入数据库时​​添加时间,而不是在创建模式时添加时间。

这样您可以使用datetime.toLocaleTimeString();或moment.js添加没有日期等的时间。

答案 2 :(得分:0)

我担心没有mongoose模式类型可以像在SQL中那样存储时间。

我在我的一个项目中存储了一个时间作为日期,只保留该日期的时间部分。它或多或少都有效。 也许MongoDB $hour$minute聚合可以提供帮助 但这不是一个非常优雅的解决方案。

另一种可能性是将您的时间存储为单独的数字(小时,分钟,秒)。

到目前为止,我发现的最佳方法是将其存储为字符串,如this answer中所述。

也许您可以进一步了解这个想法并创建自己的custom架构时间类型。