使用c#,代码是这样的
DynamoDBContext context = new DynamoDBContext(client, new DynamoDBContextConfig() { TableNamePrefix = "lalala" });
QueryFilter filter = new QueryFilter();
filter.AddCondition("Userid", QueryOperator.Equal, "hashkeyvalue");
QueryOperationConfig queryConfig = new QueryOperationConfig
{
Filter = filter,
Select = SelectValues.AllProjectedAttributes,
Limit = 1,
IndexName = "Userid-UpdatedAtTimestamp-index"
};
try
{
var result = await context.FromQueryAsync<IAPRecord>(queryConfig).GetRemainingAsync();
int ccc = result.Count;
}
catch (Exception ex)
{
throw new ArgumentException(ex.Message + ex.InnerException);
}
ccc 应该是 1,但现在它等于整个集合,就好像 Limit=1 不存在一样。
需要帮助!!
最佳答案
已解决。
var query = context.FromQueryAsync<IAPRecord>(queryConfig);
var result = await query.GetNextSetAsync();
int ccc = result.Count;
显然,无论您在查询中设置了多少限制参数,GetRemainingAsync 都会获取所有结果。 相反,我们应该使用 GetNextSetAsync。
关于c# - 在 dynamodb 中使用 context.fromquery 查询时限制不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46445899/