You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用node-redis时,能否用JSONPath的?()语法过滤Redis非数组对象?

解决方案

完全可以实现,你只需要调整JSONPath的路径,针对test2这种键为任意字符串、值为请求对象的结构,使用以下代码:

const value = await this.client.json.get('test2', { path: `$.*[?(@.timestampS < 1230011040)]` });

路径说明:

  • $.*:遍历根对象下的所有属性值(即123、124对应的两个请求对象)
  • [?(@.timestampS < 1230011040)]:对每个遍历到的对象,筛选出timestampS小于指定值的项

执行后,返回的value会是一个包含符合条件的请求对象的数组(此处对应requestId为"123"的对象),和test1的返回格式一致。


内容的提问来源于stack exchange,提问作者Konrad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:49:52