如何在mongoose架构中设置时间?
就像我们在sequelize schema
startTime: DataTypes.TIME,
endTime: DataTypes.TIME
是他们在mongoose中以任何方式设置mongoose模式的时间吗?
答案 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架构时间类型。