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

时间:2017-05-17 05:06:26

标签: node.js redis node-redis

我正在尝试在redis应用中使用nodejs。我能够完美地保存和检索价值。我正在使用哈希,它允许我拥有单个唯一键以及子键。这里提供的ID是我的子密钥,提供是关键。

我正在保存以下提议

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执行删除优惠的方法是什么?

1 个答案:

答案 0 :(得分:4)

如果您已有商品ID,则可以使用hdel命令从商品哈希中删除它。您的代码看起来像:

client.hdel('offer', id)

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