我有12个项目的限制,但dynamodb查询总是只返回10
我正在使用dynamodb npm查询dynamodb
当我查询如下,虽然我设置限制为12项 ,它总是返回10项
TableDB .query(lang) .filter('users').in(['case1','case2']) .attributes(['offerId', 'lang']) .ascending() .usingIndex('lang-date-index') .limit(12) .exec((err, data) => { console.log(data) }
我不想使用lastEvaluateKey
再次查询下一个项目。
我错过了什么吗?
Dynamo首先应用限制,然后才应用filter。 请参阅扫描限制 。 这意味着,如果您的表格有以下顺序的3个项目:
Dog1 Cat1 Dog2
你过滤狗和你的阅读限制是2,那么你得到以下结果集:
Dog1
发电机响应也将提供LastEvaluatedKay这是您的表上最后读取的主键。 在您的下一个结果中将LastEvaluatedKay设置为ExclusiveStartKey 。 这里是一个类似的示例分页循环发电机 (在Java中)。
你有没有尝试过
.loadAll()
这些文件不太清楚,但这听起来很有希望。