如何将存储为字符串的日期转换为MongoDB中的日期为iSodate



我有一个集合,其中每个文档的时间字段存储的值与" 21-dec-2017"相似。我想使用投影将其转换为iSodate。我的查询:

db.getCollection('orders').aggregate([{
        $project:{time : {$add : new Date("$time")}}
        }])

但这是让我iSODATE(" 1970-01-01T00:00:00.000Z"(总是。

您可以尝试一下,

db.getCollection('orders').aggregate([{
            $project: {
                time: {
                    $dateToString: {
                        format: "%d-%m-%G",
                        date: new Date("$time")
                    }
                }
            }
        }
    ])

没有任何字符串函数可以获取月份名称,例如jan,feb..dec。但是您可以参考https://docs.mongodb.com/manual/reference/operator/aggregation/datetetostring/更多信息。

在此ISODate("1970-01-01T00:00:00.000Z")格式中没有问题。

您应该以ISO格式存储日期,但根据您的说法在客户端上更改格式。

基本上您想以dd/mm/yy格式显示日期。

您可以使用http://momentjs.com/来显示日期。

最新更新