Influxdb XDB中标记键的Where子句不起作用

Influxdb XDB中标记键的Where子句不起作用,influxdb,Influxdb,我在0.9.6.1中看到一些奇怪的行为。问题是当我在没有where子句的情况下查询字段时,它可以工作,但当我在语句中为标记键添加where时,它会给我空结果 例如 select successful, merchant_id from session_metrics_new limit 5 name: session_metrics_new time successful merchant_id 1453975732000000000

我在0.9.6.1中看到一些奇怪的行为。问题是当我在没有where子句的情况下查询字段时,它可以工作,但当我在语句中为标记键添加where时,它会给我空结果

例如

select successful, merchant_id from session_metrics_new limit 5

name: session_metrics_new

time                    successful      merchant_id
1453975732000000000     1               bms
1453975733000000000     1               snp
1453975735000000000     1               bms
1453975735000000000     1               snp
1453975739000000000     1               bms
但这是行不通的

select successful, merchant_id from session_metrics_new where merchant_id =~ /bms/ limit 5
这里,successful是一个字段键,而merchant_id是一个标记键。我不知道这是一个bug还是我存储数据的方式。请帮助

您正在使用

我用您使用的相同语法在我的数据库上尝试了一个查询,结果集没有问题。我看到的唯一问题是成功与否也是一个标记而不是一个字段。但在这种情况下,您应该得到以下异常:

服务器返回错误:语句在select子句中必须至少有一个字段

您是通过XDB管理接口执行此查询,还是通过Java、C、NodeJs之类的第三方库执行此查询

如果你认为你会一直知道merchant_id字段的完整值,那么试试一个简单的方法。它有点不同。它不进行模式匹配,但它匹配字段的整个值,这应该有效,而且应该更快:

select successful, merchant_id from session_metrics_new where merchant_id = 'bms' limit 5

谢谢,我的python客户端将列存储为字段和标记。现在它可以正常工作了。