Проверка на nils с luascript на вызовах redis не работает - PullRequest
1 голос
/ 18 июня 2019

Я хочу иметь возможность проверить значение из хэша redis, date, чтобы увидеть, является ли оно нулевым (другими словами, учетная запись активна)

local account = {}
local accountIds = redis.call('smembers', accounts)
for i, v in ipairs (accountIds)

    local accountDetails = redis.call('HMGET', 'accountHash' .. v, 'name', 'id', 'date')

    local date = accountDetails[3]

    if (date == nil) then
         table.insert(account, v)
         table.insert(account, list)
    end
end

Когда я печатаю дату на стороне Java во время цикла, я получаю что-то вроде этого:

2018-01-15 00:00:00.0, 2017-02-27 00:00:00.0, null, 2017-03-31 00:00:00.0, 2017-02-27 00:00:00.0, 2018-01-15 00:00:00.0, null,

Так что для значений даты есть нули, но моя проверка на ноль пропускается каждый раз. Я также попробовал:

if (date == 'nil') then
if (date == '') then
if (date == 'null') then
if (accountDetails[3] == nil) then
...

Что я делаю не так?

...