我有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() 

这些文件不太清楚,但这听起来很有希望。