MongoDB aggregate ERROR('cant $subtract a date from a string')

Viewed 218
  • I'm implementing a requirement to group by time and query the maximum values within each grouping, but mongoDB returns an error
db.getCollection('Power').aggregate([
     {$match:{
        iotId:"57141305840d8ea11f13",
        createdTime: {'$gte': ISODate("2020-03-11T00:00:00Z")  ,'$lt':ISODate("2021-03-12T00:00:00Z")}
    }},
    {$group: {
        _id: {
            $subtract: [
                { $subtract: [ "$createdTime", new Date("1970-01-01") ] },
                { $mod: [
                    { $subtract: [ "$createdTime", new Date("1970-01-01") ] },
                    1000 * 60 * 5 
                ]}
            ]
        },
        Power: {'$max': '$Power'},
        timelist: { '$push': '$createdTime'} 
  }},
    {$project: {
            timelist: 1
    }}
]
)
0 Answers
Related