Sequelize:如何获取日期时间列值作为字符串

时间:2018-12-15 08:51:00

标签: node.js sequelize.js graphql apollo-server

我在Apollo GraphQL服务器上将Sequelize与MySQL一起使用。

阿波罗(Apollo)的部分不是很重要,但这是交易。

问题是,当您进行查询时,Sequelize将datetime值作为Date对象返回。并且Apollo-Server在从解析器获取数据后,将Date对象转换为秒(使用Date对象的valueOf()函数)。但是,Apollo服务器仅允许Date对象的String数据类型,因此在我的客户端,我得到了诸如“ 385823948287”之类的日期值。

我需要获取日期值作为ISO字符串。或moment.js接受的任何其他形式。

我必须使Sequelize将DATETIME值作为ISOString返回,或者使Apollo Server使Date Objects作为ISO String,而不是用引号引起的秒数。

如果您只知道其中一项工作,请告诉我。

1 个答案:

答案 0 :(得分:2)

我使用Graphql ISO Date解决了这个问题。现在我得到了正确的日期字符串。

安装模块,添加scalar DateTime并将架构中日期值的数据类型更改为DateTime。导入模块,并将其添加为类型解析器上的DateTime