Конвертировать время строки в дату в mongodb - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть совокупный запрос, в котором я разделяю значение поля и пытаюсь создать дату, используя $dateFromParts из значений в массиве split, к сожалению, я получаю ошибку ниже.Поскольку я использую M0 экземпляров Mongo Altas для целей разработки и его версия 3.6, я не могу использовать функции $ convert и $ toInt из v4.Пожалуйста, предложите решение.

'час' должен вычисляться как целое число, найденная строка со значением

{
      {  
            $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] } } }
            }
        }
}

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете попробовать использовать $dateFromString в mongodb 3.6

db.collection.aggregate([
  { "$project": {
    "departure_date": {
      "$dateFromString": {
        "dateString": { "$concat": ["2018-09-19", "T", "$timings.departure"] }
      }
    }
  }}
])
...