我已经开始使用Influxdb v0.13了,我的测试数据库中有一些虚拟值,其中id是一个标记,value是一个字段:
> SELECT * FROM dummy
name: dummy
--------------
time id value
1468276508161069051 1234 12345
1468276539152853428 613 352
1468276543470535110 613 4899
1468276553853436191 1234 12
Run Code Online (Sandbox Code Playgroud)
运行此查询时,我没有返回任何结果:
> SELECT * FROM dummy WHERE id=1234
Run Code Online (Sandbox Code Playgroud)
但是在查询字段时我会得到以下信息:
> SELECT * FROM dummy WHERE value=12
name: dummy
--------------
time id value
1468276553853436191 1234 12
Run Code Online (Sandbox Code Playgroud)
我在这里做错了吗?我认为标签的要点是被查询的(因为它们被索引而字段不是),但它们似乎打破了我的疑问.
Sam*_*Toh 11
看来Influx会处理每个标记键和我们作为字符串插入的值,这显然在他们的官方文档中显示.
请参阅:https://docs.influxdata.com/influxdb/v0.13/guides/writing_data/
写入点时,必须在db query参数中指定现有数据库.有关可用查询参数的完整列表,请参阅"写入语法"页面上的HTTP部分.POST的主体 - 我们称之为线路协议 - 包含您希望存储的时间序列数据.它们包括度量,标签,字段和时间戳.InfluxDB需要一个测量名称.严格来说,标签是可选的,但大多数系列都包含用于区分数据源并使查询既简单又高效的标签.标记键和标记值都是字符串.
注意:文本以粗体显示.
因此,要按标记键值过滤 - 必须引用查询.
示例:
SELECT * FROM dummy WHERE id='1234'