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

标签 javascript node.js mongodb mongoose

正在开发一项功能,我需要以 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/

相关文章:

node.js - MongoDB 不会更新 testcafe 测试

python - 在 pymongo 中查询 explain ("executionStats")

javascript - 如何避免 Observables 的无限循环?

javascript - 在 Angular Js 中选择日期后,不要丢失 Rzslider 的先前位置?

java - 如何转换为 BasicDBList?

javascript - 如何在 Nodejs 中创建电子邮件提醒?

javascript - 从nodejs调用外部.js文件中的函数

javascript - 有没有更简单的方法来实现多个 if else JavaScript?

javascript - 如何按 codePoint 对 JavaScript 字符串进行排序?

javascript - Node.js - 表达 hello world 示例错误