2017-08-28 15 views
2

在AQL的塞式AQL查询使用的名单,我可以做

select * from ns.set where PK='some val' 

我如何查询针对值的列表?像

select * from ns.set where PK in ('val1', 'val2'...) 

东西时,试图上面的代码运行时得到“不支持的命令格式”

+0

https://discuss.aerospike.com/t/in-query-on-pk/4158 – bzak

回答

3

在AQL不支持。

Aerospike客户端(您将在生产中使用)支持此功能。它被称为批量索引读取。 http://www.aerospike.com/docs/guide/batch.html

+0

这对于读取操作很有用。我没有将它包含在原始问题中,但我真正想要做的是对匹配查询的结果执行读写UDF。 – bzak

+0

您无法使用AQL写入由二级索引查询产生的一组记录 - 您可以通过Stream UDF(AQLs AGGREGATE语句)执行读取/聚合。流udf以只读模式运行。记录udfs在读/写模式下运行。您可以在单个记录或命名空间中的所有记录上运行记录udf(AQL的EXECUTE语句)[set,optional]。以下是在整个集合上运行记录UDF的示例 - 也称为扫描时运行UDF - https://discuss.aerospike.com/t/how-to-delete-a-single-bin-from-set/ 4519 – pgupta

+0

对,在这种情况下,可以在udf本身内对我的列表进行过滤吗? – bzak