gpt4 book ai didi

javascript - 如何使用 mongoose 和 node.js 将 mongodb 时间戳转换为 dd-mm-yyyy 格式?

转载 作者:行者123 更新时间:2023-12-02 21:05:12 33 4
gpt4 key购买 nike

正在开发一项功能,我需要以 dd-mm-yyyy 格式显示存储在 mongodb 中的时间戳。但我对如何编写查询以获取所需格式的时间戳感到困惑。

下面是下拉列表集合的示例数据。

/* 1 */
{
"_id" : ObjectId("5e787e988f3b3f3a240e846e"),
"status" : true,
"company" : ObjectId("5e787e988f3b3f3a240e846d"),
"type" : "ticketstatus",
"name" : "Open",
"createdAt" : ISODate("2020-03-23T09:17:12.374Z"),
"updatedAt" : ISODate("2020-03-23T09:17:12.374Z")
}

/* 2 */
{
"_id" : ObjectId("5e787e988f3b3f3a240e846f"),
"status" : true,
"company" : ObjectId("5e787e988f3b3f3a240e846d"),
"type" : "ticketstatus",
"name" : "Closed",
"createdAt" : ISODate("2020-03-23T09:17:12.374Z"),
"updatedAt" : ISODate("2020-03-23T09:17:12.374Z")
}

/* 3 */
{
"_id" : ObjectId("5e7883ce8f3b3f3a240e8472"),
"status" : true,
"company" : ObjectId("5e787e988f3b3f3a240e846d"),
"type" : "ticketpriorities",
"name" : "High",
"createdAt" : ISODate("2020-03-23T09:39:26.167Z"),
"updatedAt" : ISODate("2020-03-23T09:39:26.167Z")
}

到目前为止正在使用的查询,

dropdowns.find({"company":ObjectId('5e787e988f3b3f3a240e846d')});

获取日期的正确方法是什么?我是否需要编写查询,或者是否需要使用代码行操作查询返回的数据?请建议我最好和最常用的方法。谢谢。

最佳答案

您应该使用类似 moment 的库在客户端格式化日期。或date-fns

例如,使用 date-fns:

import { format } from 'date-fns'

format(new Date(), "dd-MM-yyyy")
// 16-04-2020

date-fns 是当今首选的库,因为它是模块化的,这意味着您只能导入您需要的函数(无隶属关系)。请务必考虑最终用户的时区。

如果您想在服务器端执行此操作,请使用 $dateToString 进行聚合,如上面的评论中所述:

db.collection.aggregate([
{
"$match": {
company: ObjectId("5e787e988f3b3f3a240e846d")
}
},
{
"$project": {
createdAt: {
$dateToString: {
format: "%d-%m-%Y",
date: "$createdAt"
}
},
updatedAt: {
$dateToString: {
format: "%d-%m-%Y",
date: "$updatedAt"
}
},

}
}
])

工作示例 here .

关于javascript - 如何使用 mongoose 和 node.js 将 mongodb 时间戳转换为 dd-mm-yyyy 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61243131/

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