首页 > 解决方案 > Aerospike - 用户定义函数中的错误参数(预期数字,得到字符串)

问题描述

我正在尝试运行 UDF 以删除 Aerospike DB 中存在的列表中的项目。当我通过 Java 执行 UDF 时,我收到了这种类型的错误。

Java 代码

client.execute( policy, key, "deletenames", "delete", Value.get(usr.getName()) );

Lua UDF

function delete(rec, name)
    local lii = rec['names']
    if lii then
        list.remove( lii, name )     <---- ERROR HERE
        rec['names'] = lii
        aerospike:update(rec)
    end
end

错误

Exception in thread "main" com.aerospike.client.AerospikeException: Error 100,1,30000,0,0,BB955892AFD8CA0 127.0.0.1 3000: /opt/aerospike/usr/udf/lua/deletenames.lua:4: bad argument #2 to 'remove' (number expected, got string)

标签: luaaerospike

解决方案


推荐阅读