我有一个类,它像这样存储到redis示例的hashmap。
static async store(obj: KeyObject) {
return client.hmset(`obj:${obj.objKey}`, {
id: obj.id, // number
ownerId: obj.ownerId.toBase58(), // string
key: obj.key, // number
});
}
当我得到 get
redis的这一行
{
id : '1',
ownerId: '2',
key: '3'
}
我想得到 id
参数作为 number
(就像我放进去的时候一样)
当我在程序中使用它时,我可以将它具体地转换为一个数字,但是当我得到它时,我宁愿将它转换为整个对象
client.hgetall(`obj:${objKey}`) as KeyObject
这可能吗?
谢谢!
1条答案
按热度按时间bq9c1y661#
不,不可能不是打字造成的。当redis返回id时,它不是一个数字(这是redis的一个实现细节,它不区分字符串和数字,与js或ts无关)。您需要手动将其更改回:
如果您有多个键需要返回到一个数字,并且您感到很懒惰,则可以创建一个助手函数:
然后使用它: