我有一个集合,其中每个文档都有一个时间字段,其值存储类似于" 2017年12月21日和#34;。 我想使用投影将其转换为ISODate。 我的查询:
db.getCollection('orders').aggregate([{
$project:{time : {$add : new Date("$time")}}
}])
但这总是给我ISODate(" 1970-01-01T00:00:00.000Z")。
答案 0 :(得分:0)
你可以试试这个,
db.getCollection('orders').aggregate([{
$project: {
time: {
$dateToString: {
format: "%d-%m-%G",
date: new Date("$time")
}
}
}
}
])
没有任何字符串函数可以获得月份名称eg.Jan,Feb..Dec。 但你可以参考https://docs.mongodb.com/manual/reference/operator/aggregation/dateToString/ 更多信息。
答案 1 :(得分:0)
此ISODate("1970-01-01T00:00:00.000Z")
格式没有问题。
您应该以{{1}}格式存储日期,但会根据您更改客户端的格式。
基本上您希望以ISO
格式显示日期。
您可以使用http://momentjs.com/根据您的日期显示日期。