如何使用@influxdata/influxdb-client的boundaries.week()查询本周数据?
解决InfluxDB Flux查询本周一至当前时间的问题
核心修改要点:
- 模块导入位置:
import "date/boundaries"必须放在Flux查询的最开头,所有查询语句之前,这是Flux导入标准库模块的固定写法。 - 时间范围替换:用
boundaries.week().start替代原来的-7d,这个函数会自动计算本周一的起始时间(默认以周一为一周第一天),搭配now()作为结束时间,就能精准获取本周一到当前时刻的数据。
修改后的完整查询代码:
const weeklyPowerQuery = ` import "date/boundaries" from(bucket: "iobroker") |> range(start: boundaries.week().start, end: now()) |> filter(fn: (r) => r._measurement == "0_userdata.0.pv.dailyPower") |> filter(fn: (r) => r["_field"] == "value") `;
额外说明:
- 如果需要调整一周的起始日,可以给
boundaries.week()传参,比如boundaries.week(startWeekDay: 0)会将周日设为一周起始。 - 显式写
end: now()是为了让查询逻辑更清晰,若不指定end参数,Flux默认也会以当前时间作为结束点。
内容的提问来源于stack exchange,提问作者larz
相关产品推荐
相关产品推荐

