查询字段和标签
使用 filter() 基于字段、标签或任何其他列值查询数据。 filter() 执行的操作类似于 InfluxQL 和其他类 SQL 查询语言中的 SELECT 语句和 WHERE 子句。
filter() 函数
filter() 具有一个 fn 参数,该参数需要一个 谓词函数,这是一个由一个或多个 谓词表达式 组成的匿名函数。 谓词函数评估每个输入行。 评估结果为 true 的行将包含在输出数据中。 评估结果为 false 的行将从输出数据中排除。
// ...
|> filter(fn: (r) => r._measurement == "example-measurement-name" )
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()定义您的 存储桶。 - 使用
range()按时间限制查询结果。 - 使用
filter()标识要输出的数据行。
from(bucket: "example-bucket")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "example-measurement-name" and r.mytagname == "example-tag-value")
|> filter(fn: (r) => r._field == "example-field-name")
此页内容是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子! 我们欢迎并鼓励您提供关于 InfluxDB 和本文档的反馈和错误报告。 如需寻求支持,请使用以下资源
拥有年度或支持合同的客户可以联系 InfluxData 支持。