查询给定列表中的标记值

时间:2015-08-18 03:30:18

标签: influxdb

在Influxdb中是否有任何shortform语法来查询列表中的成员资格?

我正在思考一些事情
var isAnArray = false
for(var i = 0; i < array.length; i ++ ) {
    if(Array.isArray(array[i])) {
        isAnArray = true
         break;
    }
}

现在我可以使用SELECT * FROM some_measurement WHERE some_tag IN ('a', 'b', 'c') ed OR将这些字符串组合在一起,但这似乎非常低效。有更好的方法吗?我浏览了language spec,但我并没有将这视为表达式制作的可能性。

我想到的另一个选择是使用正则表达式方法,但这对我来说似乎更糟糕。

1 个答案:

答案 0 :(得分:17)

InfluxDB 0.9支持标记匹配的正则表达式。这是正确的方法,虽然当然正则表达式可能会有问题。这不是InfluxDB的性能问题,实际上可能比多链式OR语句更快。目前还没有像IN或HAVING这样的条款的支持。

例如:SELECT * FROM some_measurement WHERE some_tag =~ /a|b|c/