在集合中,时间戳字段存储为字符串。
{
"_id" : ObjectId("59a780a3da2100974a36cdca"),
"datetime" : "2016-08-17 0:59"
...
}
我想在Mongo聚合piple行的第一阶段将字符串转换为日期。
db.collection.aggregate([
{
$addFields: {
ts: new Date('$datetime')
}
}
])
我在管道外做了这个,工作正常。
{
"_id" : ObjectId("59a780a3da2100974a36cdca"),
"datetime" : "2016-08-17 0:59",
"ts" : ISODate("2016-08-17T00:59:00.000-04:00"),
}
但是,如果我在聚合内部这样做。我得到了以下
{
"_id" : ObjectId("59a780a3da2100974a36cdca"),
"datetime" : "2016-08-17 0:59",
"ts" : ISODate("1969-12-31T19:00:00.000-05:00")
}