使用 Google 工作表 "dd-MM-yyyy HH:ss" 作为输出在 MongoDB 上查询 ISODate

Query ISODate on MongoDB with Google Sheets "dd-MM-yyyy HH:ss" as an output

我使用名为 Redash 的工具在 MongoDB 上查询 (in JSON)。在我的集合中,日期是在 ISO 中制定的,所以当我的查询被导入(使用 google sheets 的 importdata 函数)到 sheet 时,我必须将它转换为适当的格式sheet中设计的一个公式。 我很乐意将此操作直接集成到我的查询中,ISO 日期格式以适当的 "dd-MM-yyyy HH:ss" 格式直接发送到表格。

有什么想法吗?

非常感谢

您可以在 $project 聚合阶段使用 $dateToString aggregation operator

例如:

> db.test.find()
{ "_id": 0, "date": ISODate("2018-03-07T05:14:13.063Z"), "a": 1, "b": 2 }

> db.test.aggregate([
    {$project: {
        date: {$dateToString: {
            format: '%d-%m-%Y %H:%M:%S',
            date: '$date'
        }},
        a: '$a',
        b: '$b'
    }}
])
{ "_id": 0, "date": "07-03-2018 05:14:13", "a": 1, "b": 2 }

请注意,尽管 $dateToString 运算符自 MongoDB 3.0 开始可用,但 MongoDB 3.6 添加了根据特定时区输出字符串的功能。