我想基于列status_code查询dynamoDB表。我通过使用以下代码获取输出:
params = {
TableName : "Orders_" + environment,
IndexName: "StatusCode-StoreID-index",
KeyConditionExpression: "StatusCode = :status_code",
ExpressionAttributeValues: {
":status_code": "ST01"
},
ScanIndexForward: false,
Limit : ordersPageSize
};
在这里,我将status_code传递为ST01。我的问题是关于传递多个值而不是ST01。
如何获取status_code值为ST01或ST02或ST03的记录?
最佳答案
您可以在IN
上使用FilterExpression
运算符。
params = {
TableName : "Orders_" + environment,
IndexName: "StatusCode-StoreID-index",
KeyConditionExpression: "StatusCode = :status_code1",
ExpressionAttributeValues: {
":status_code1": "ST01"
},
ScanIndexForward: false,
Limit : ordersPageSize
};
如果您想获取多个状态(即哈希键),则可以使用
batchGetItem
API。但是,batchGetItem
不支持索引。您只能在主表上使用此API。