我正在使用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
再次查询下2个项目。我想念什么吗?
最佳答案
Dynamo首先应用限制,然后才应用过滤器。参见Scan limit。
这意味着,如果您的表按以下顺序包含3个项目:
Dog1
Cat1
Dog2
您按狗过滤,读取限制为2,则得到以下结果集:
Dog1
发电机响应还将提供LastEvaluatedKay,这是表上最后读取的主键。在下一个结果中将此LastEvaluatedKay设置为ExclusiveStartKey。这是一个类似的example of pagination loop for dynamo(在Java中)。
关于javascript - 我有12个项目的限制,但是dynamodb查询总是只返回10个项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47767809/