【问题标题】:Node js and Redis filter data based on conditionNode js和Redis根据条件过滤数据
【发布时间】:2021-05-17 16:39:12
【问题描述】:

我在 redis 中将我的数据设置为像这样的键值对

let data = [{key: 'a-9' , val: 'a'}, {key: 'a-7', val: 'b'}, {key: 'b-8', val: 'c'}]

并希望根据这样的条件取回数据

所有大于或等于 9 的 'a' 键

client.hgetAsync("class_cache", "a").then(res => {
    callback(null, res);               
}).catch(err => {
    console.error(err)
}).finally(() => {
    client.quit();
});

谁能帮忙?

【问题讨论】:

标签: node.js redis node-redis


【解决方案1】:

这是不可能的。仅检查模式中的 glob 是否匹配。支持的模式与用于 KEYS 命令的模式相同,如下所述:http://redis.io/commands/keys

您可以获取对象表单数据,并使用javascript命令处理对象


let data = [{key: 'a-9' , val: 'a'}, {key: 'a-7', val: 'b'}, {key: 'b-8', val: 'c'}]
let result = []
data.forEach(element => {
  if(element.key.split('-')[1] > 8)
  result.push(element)
});
console.log(result);

【讨论】:

    猜你喜欢
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多