查询字段和标签
此页面记录了 InfluxDB OSS 的早期版本。 InfluxDB OSS v2 是最新的稳定版本。 请参阅等效的 InfluxDB v2 文档: 查询字段和标签。
使用 filter()
函数根据字段、标签或任何其他列值查询数据。 filter()
执行的操作类似于 InfluxQL 和其他类 SQL 查询语言中的 SELECT
语句和 WHERE
子句。
filter()
函数
filter()
具有一个 fn
参数,该参数需要一个谓词函数,这是一个由一个或多个谓词表达式组成的匿名函数。谓词函数评估每个输入行。评估结果为 true
的行将包含在输出数据中。评估结果为 false
的行将从输出数据中排除。
// ...
|> filter(fn: (r) => r._measurement == "example-measurement" )
fn
谓词函数需要一个 r
参数,该参数表示当 filter()
迭代输入数据时,每一行数据。行记录中的键值对表示列及其值。使用点表示法或括号表示法来引用谓词函数中的特定列值。使用逻辑运算符将多个谓词表达式链接在一起。
// Row record
r = {foo: "bar", baz: "quz"}
// Example predicate function
(r) => r.foo == "bar" and r["baz"] == "quz"
// Evaluation results
(r) => true and true
按字段和标签过滤
from()
、range()
和 filter()
的组合代表了最基本的 Flux 查询
- 使用
from()
定义您的 bucket(数据桶)。 - 使用
range()
按时间限制查询结果。 - 使用
filter()
确定要输出哪些数据行。
from(bucket: "db/rp")
|> range(start: -1h)
|> filter(fn: (r) =>
r._measurement == "example-measurement" and
r._field == "example-field" and
r.tag == "example-tag"
)
此页面是否对您有帮助?
感谢您的反馈!