// mongodb查询与ROW_NUMBER效果一致
// 类似sql语句 ROW_NUMBER() OVER (PARTITION BY CONCAT(device_id, '_', device_port) ORDER BY createTime DESC) AS rn
db.log_heartbeat.aggregate([
{
$match: {
chargePower: {
$gt: 0
},
// createTime: {
// $gte: ISODate("2023-03-01T00:00:00.000Z"), // 开始时间
// $lt: new Date() // 结束时间为当前时间
// }
}
},
{
$sort: {
createTime: - 1
}
},
{
$group: {
_id: {
deviceNo: "$deviceNo",
portNumber: "$portNumber"
},
createTime: {
$first: "$createTime"
},
chargePower: {
$first: "$chargePower"
}
}
},
{
$project: {
_id: 0,
deviceNo: "$_id.deviceNo",
portNumber: "$_id.portNumber",
chargePower: 1,
createTime: 1
}
}
])
mongodb仿ROW_NUMBER查询
最新推荐文章于 2024-04-23 19:10:14 发布