我有一个聚合查询,其中我正在拆分一个字段值,并尝试使用$dateFromParts
从拆分数组中的值创建一个日期,不幸的是,我遇到了以下错误。由于我将Mongo Altas的M0实例用于开发目的,并且其版本为3.6,因此无法使用v4的$ convert和$ toInt功能。请提出解决方案。
“小时”必须计算为整数,找到的字符串具有值
{
{
$addFields: {
departure_time: { $split: ["$timings.departure", ":"] }
}
}
,
{
$project: {
departure_date: { $dateFromParts: { 'year': dt.getUTCFullYear(), 'month': dt.getUTCMonth(), 'day': dt.getUTCDate(), 'hour': { $arrayElemAt: ["$departure_time", 0] }, 'minute': { $arrayElemAt: ["$departure_time", 1] } } }
}
}
}
答案 0 :(得分:1)
您可以尝试在mongodb 3.6
中使用$dateFromString
db.collection.aggregate([
{ "$project": {
"departure_date": {
"$dateFromString": {
"dateString": { "$concat": ["2018-09-19", "T", "$timings.departure"] }
}
}
}}
])