【问题标题】:Limit results to 10 in redis with node js使用节点 js 在 redis 中将结果限制为 10
【发布时间】:2012-04-03 12:56:39
【问题描述】:

我有一组从 redis 检索的值,并将其作为 json 发送到客户端:

  members.hgetall(All,_)

顺便说一下,我用的是流线型js。

我猜想获得类似 MYSQL "LIMIT" 命令的东西对于节点 redis 库来说也很棒:)

【问题讨论】:

  • 请向我们展示代码,并解释您所说的“不起作用”是什么意思。具体来说,您希望看到什么,以及您所看到的。
  • 哦,伙计,我已经为这个和其他对数组的查询创建了一个 js 库,但是当我离开我的旧工作时,我失去了它。很遗憾每次看 js 数组时都没有制作副本。如果我设法再次编写它(它相当简单),我将通过链接回答您的问题。
  • 它只是返回 undefined....我尝试 members.hgetall(All,_).slice(0,10)
  • 没有 slice() 时 hgetall() 会返回什么?
  • 它返回一个 json 对象 ex : { '1':'John Smith', '2':'Bill Smith'}

标签: javascript json node.js redis


【解决方案1】:

要获取数组的前 10 个值,您可以使用 slice

var firstTenArray = myArray.slice(0, 10);

这两个参数都是开始和结束的从零开始的索引。开始是索引 0(第一个元素),结束是索引 10(第 11 个元素),因为 slice 不包括返回集合中的最后一个元素。

【讨论】:

  • 第二个参数需要为 10,因为 slice() 最多提取但不包括指定的结束索引。
【解决方案2】:

slice() 的第二个参数是结束索引,所以你应该试试 slice(0, 9)。

【讨论】:

  • 这不对:第二个参数结束索引,但它提取到但不包括该索引。所以 (0,10) 得到前十项是正确的。
猜你喜欢
  • 2023-01-02
  • 2017-05-07
  • 2017-11-15
  • 2017-01-20
  • 2014-03-27
  • 1970-01-01
  • 2018-09-03
  • 2016-12-25
  • 2015-02-07
相关资源
最近更新 更多