Database
[{"TV":[{"T":"2018-05-05T09:00:00.000Z","V":1.3},{"T":"2018-05-05T09:00:00.000Z","V":2.21}],"values":[100,200]}]
Query
db.collection.aggregate([{"$project":{"TV_VALUES":{"$map":{"input":{"$range":[0,{"$size":"$TV"}]},"as":"i","in":{"$let":{"vars":{"tv":{"$arrayElemAt":["$TV","$$i"]}},"in":{"$mergeObjects":["$$tv",{"date":{"$dateToString":{"date":{"$toDate":"$$tv.T"},"format":"%Y-%m-%d"}},"hour":{"$hour":{"$toDate":"$$tv.T"}}},{"values":{"$arrayElemAt":["$values","$$i"]}}]}}}}}}}])