如何通过单个AQL查询删除Aerospike中的多个记录?

时间:2018-03-09 05:06:57

标签: caching aerospike

我有一个Aerospike键列表。我需要使用AQL删除与这些密钥关联的所有记录。

我知道delete query for a single key。像这样:

DELETE FROM <ns>[.<set>] WHERE PK=<key>

但是,我想在一个查询中使用AQL删除它们。是否有任何此类查询要批量删除?

1 个答案:

答案 0 :(得分:3)

我认为你不能这样做。这些密钥是如何生成的?如果有一个模式,那么你可以编写一个简短的python脚本来生成一个文本文件,其中包含删除命令。例如:

File: mydelete.txt

DELETE FROM ns1.set1 WHERE PK = 'k1'
DELETE FROM ns1.set1 WHERE PK = 'k2'
etc..

然后,在AQL中,使用RUN命令。

aql> RUN 'mydelete.txt'

但是,如果要删除 all 集合中的记录,可以在AQL中使用TRUNCATE。