首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用vogels js实现分页

使用vogels js实现分页
EN

Stack Overflow用户
提问于 2015-12-22 01:14:05
回答 2查看 2.4K关注 0票数 4

我正在用dynamodb + nodejs后端实现一个网站。我在服务器端使用Vogels.js查询dynamodb并在网页上显示结果。因为我的查询返回了很多结果,所以我希望最初只将N(例如5)结果返回给用户,并在用户要求更多时返回下一个结果。

是否有方法可以从第一个查询停止的地方开始运行第二个vogels查询?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-23 03:41:56

是的,vogels完全支持对查询和扫描操作进行分页。

例如:

代码语言:javascript
复制
var Tweet = vogels.define('tweet', {
  hashKey  : 'UserId',
  rangeKey : 'PublishedDateTime',
  schema : {
    UserId            : Joi.string(),
    PublishedDateTime : Joi.date().default(Date.now),
    content           : Joi.string()
  }
});

// Fetch the 5 most recent tweets from user with id 555:
Tweet.query(555).limit(5).descending().exec(function (err, data) {
  var paginationKey = data.LastEvaluatedKey;

  // Fetch the next page of 5 tweets
  Tweet.query(555).limit(5).descending().startKey(paginationKey).exec()
});
票数 8
EN

Stack Overflow用户

发布于 2015-12-22 02:49:45

是的,有可能,DynamoDB有一些叫做"LastEvaluatedKey“的东西,它将为您的目的服务。

步骤1)使用选项“”=记录数查询表

参考:Query.html

步骤2)如果查询的记录比“限制值”多,DynamoDB将返回一个"LastEvaluatedKey“,您可以在下一个查询中以"ExclusiveStartKey”的形式传递该“LastEvaluatedKey”,以获取下一组记录,直到没有记录为止。

参考:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#QueryAndScan.Query

注意:要知道要获得以前的记录集,您可能必须存储所有的"LastEvaluatedKeys“,并在应用程序级别实现这一点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34407017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档