【问题标题】:influxDB return 0 instead of 'no results'influxDB 返回 0 而不是 \'no results\'
【发布时间】:2022-11-11 06:55:23
【问题描述】:

我们将 influxDB 用于统计和仪表板。我们喜欢它!快速且易于集成。但是,当我们推出新功能时,我们会陷入困境。

我们有以下 FLUX 查询。一个基于 businessUUID 的包含所有“model_events”的大型数据库。但是,如果企业没有car.created,它会返回no results,而不是带有0 的范围。如果它有一个car.created,即使没有范围,它也会返回一个 0 范围。即使_measurement 没有值,是否有可能始终获取范围?

from(bucket: "_events")
    |> range(start: 2022-09-01, stop: 2022-09-11)
    |> filter(fn: (r) => r["_measurement"] == "car.created")
    |> filter(fn: (r) => r["business_uuid"] == "055ade92-ecd9-47b1-bf85-c1381d0afd22")
    |> aggregateWindow(every: 1d, fn: count, createEmpty: true)
    |> yield(name: "amount")

顺便说一句....对 InfluxDB 有点新...

【问题讨论】:

    标签: influxdb


    【解决方案1】:

    也许你可以创建一个虚拟表和联盟()就如:

    import "experimental/array"
    
    rows = [{_time: now(), _field: "someField", _value: 0}]
    dummy = array.from(rows: rows)
    
    data = from(bucket: "_events")
        |> range(start: 2022-09-01, stop: 2022-09-11)
        |> filter(fn: (r) => r["_measurement"] == "car.created")
        |> filter(fn: (r) => r["business_uuid"] == "055ade92-ecd9-47b1-bf85-c1381d0afd22")
        |> aggregateWindow(every: 1d, fn: count, createEmpty: true)
        |> yield(name: "amount")
    
    union(tables: [dummy, data])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多