【发布时间】:2019-05-09 23:06:24
【问题描述】:
我对 MongoDB 中的日期有疑问。当我创建一个帖子时,我会得到Date.now() 的日期。当我检查数据库时,它存储为:ISODate("2018-12-08T09:40:38.623+0000")。
如果我执行普通的 GraphQL 查询,我会得到结果:"created_at": "1544262038623"。
在我的架构中,查询定义为created_at: String。 问题编号 1:如何进行查询以显示日期而不是自纪元以来的时间戳?
问题 2:我想获取时间戳来做一些聚合计算。但它总是采用日期格式,无论我做什么,我都无法获得时间戳。我试过:$toDecimal、new Date("$created_at") 和其他东西。我怎么做?我需要自纪元以来的毫秒数,如上面的查询(1544262038623)。
附加信息:使用猫鼬和阿波罗。 MongoDB 是 mLab。
Post.aggregate([
{ $match: { author_id: "uRKNnDZIv" }},
{ $addFields: {
timestamp: "$created_at"
}
])
【问题讨论】:
标签: mongodb mongoose aggregation-framework graphql apollo