如何在节点js应用程序的redis中使用hset基于子键删除

How to delete on based of subkey using hset in redis in node js app

我正在尝试在我的 nodejs 应用程序中使用 redis。我能够完美地保存和检索价值。我正在使用散列,它允许我拥有单个唯一键和子键。这里的 offer id 是我的子键,offer 是键。

我正在保存如下优惠

let offer = {
    offerId: req.query.id,
    offerName: req.query.offerName,
    offerVendor: req.query.offerVendor
}
client.hset('offer', offer.offerId, JSON.stringify(offer), redis.print);

并像下面这样检索值

try {   
    console.log('ping response:', await client.ping());
    const offerId = req.query.id;
    client.hget('offer', offerId, function(err, reply){
        let offer = JSON.parse(reply);
        res.send(offer);
    });
} catch(err) {
    console.log('ping error:', err);
}

我想删除基于 id 的报价,就像基于 id 保存或获取一样。我浏览了文档 https://github.com/NodeRedis/node_redis#usage-example 但没有找到。

根据id删除报价的方法是什么?

如果您已有报价 ID,可以使用 hdel 命令从报价哈希中删除它。您的代码类似于:

client.hdel('offer', id)

调用的结果将是已删除键数的整数计数。如果您不知道客户端 ID,可以使用 hscan 命令查找它。