gpt4 book ai didi

mongodb - 将日期转换为时间戳 mongodb

转载 作者:可可西里 更新时间:2023-11-01 10:37:49 25 4
gpt4 key购买 nike

我对 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) 一样。

其他信息:使用 mongoose 和 apollo。 MongoDB 是 mLab。

Post.aggregate([
{ $match: { author_id: "uRKNnDZIv" }},
{ $addFields: {
timestamp: "$created_at"
}
])

最佳答案

如果你想将日期转换为时间戳,那么你可以使用 $toLong聚合

Post.aggregate([
{ "$match": { "author_id": "uRKNnDZIv" }},
{ "$addFields": {
"timestamp": { "$toLong": "$created_at" }
}}
])

如果您想将时间戳转换为日期,则可以使用 $toDate聚合

Post.aggregate([
{ "$match": { "author_id": "uRKNnDZIv" }},
{ "$addFields": {
"timestamp": { "$toDate": "$created_at" }
}}
])

关于mongodb - 将日期转换为时间戳 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53682113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com