Database

[{to:1,from:2,properties:{consumption:1}}]

Query

db.collection.aggregate([{$replaceRoot:{newRoot:{$let:{vars:{"time_interval_mins":{"$divide":[{"$subtract":["$to","$from"]},60000]}},in:{time_interval_mins:"$$time_interval_mins",consumption_hourly:{"$multiply":[{"$divide":["$properties.consumption","$$time_interval_mins"]},60]},calculation2:{"$multiply":[{"$divide":["$properties.consumption","$$time_interval_mins"]},3600]}}}}}}])

Result