【发布时间】:2017-09-18 17:53:29
【问题描述】:
如何在猫鼬模式中只设置时间?
就像我们可以在sequelize schema中做的那样
startTime: DataTypes.TIME,
endTime: DataTypes.TIME
他们在猫鼬中有什么方法可以在猫鼬模式中设置时间吗??
【问题讨论】:
如何在猫鼬模式中只设置时间?
就像我们可以在sequelize schema中做的那样
startTime: DataTypes.TIME,
endTime: DataTypes.TIME
他们在猫鼬中有什么方法可以在猫鼬模式中设置时间吗??
【问题讨论】:
这是简单的日期,没有其他类似的东西 --> startTime : Date
这里是 mongoose 的所有可用数据类型的文档:http://mongoosejs.com/docs/schematypes.html
如果您只需要日期的时间,您可以使用 getter 来实现:http://mongoosejs.com/docs/2.7.x/docs/getters-setters.html
【讨论】:
我之前尝试过实现同样的目标,但失败了。
我能想到的最佳解决方案是在插入数据库期间而不是在创建架构时添加时间。
这样您就可以使用datetime.toLocaleTimeString(); 或moment.js 来添加没有日期等的时间。
【讨论】:
恐怕没有猫鼬模式类型可以像在 SQL 中那样存储时间。
我在我的一个项目中将时间存储为日期,只保留该日期的时间部分。它或多或少地起作用。
也许 MongoDB $hour 和 $minute 聚合可以提供帮助。
但这不是一个非常优雅的解决方案。
另一种可能性是将您的时间存储为单独的数字(小时、分钟、秒)。
到目前为止,我发现的最佳方法是将其存储为字符串,如 this answer 中所述。
也许您可以更深入地研究这个想法并创建自己的custom 架构时间类型。
【讨论】: