Я пытаюсь преобразовать временные метки в массиве в даты с $ dateFromString
Пример документа, из которого я пытаюсь преобразовать даты:
{
"_id" : ObjectId("5cbc5efc8af5053fd8bdca31"),
"ticker" : "ticker",
"currency" : "currency",
"daily" : [
{
"timestamp" : "2019-04-18",
"open" : "5.3300",
"high" : "5.3300",
"low" : "5.2000",
"close" : "5.2700",
"volume" : "6001"
},
{
"timestamp" : "2019-04-17",
"open" : "5.1500",
"high" : "5.2900",
"low" : "5.1500",
"close" : "5.2700",
"volume" : "37659"
},
{
"timestamp" : "2019-04-16",
"open" : "4.7100",
"high" : "5.3000",
"low" : "4.7100",
"close" : "5.1500",
"volume" : "112100"
}
]
}
Запрос агрегации в pymongo:
db.test.aggregate([{
'$project': {
'daily.timestamp': {
'$dateFromString': {
'dateString': '$daily.timestamp',
'format': '%Y-%m-%d'
}
}
}
}])
Это выдает следующую ошибку:
pymongo.errors.OperationFailure: $ dateFromString требует, чтобы 'dateString' была строкой, найдено: массив со значением ["2019-04-18", "2019-04-17", "2019-04-16", "2019-04-15" ....]
Можно ли даже применить $ dateFromString к массиву с сотнями элементов?