我有一个 DynamoDB 表,包含主键:userID,排序键:sessionID 和另一个名为 examID 的列。
我想返回一个列表,其中包含所有具有我发送的 userID 和 examID 的记录。以下是我的代码:
export const main = handler(async (event, context) => {
const data = JSON.parse(event.body);
const params = {
TableName: process.env.tableNameExamResults,
KeyConditionExpression: "userId = :userId and examId = :examId",
ExpressionAttributeValues: {
":userId": event.requestContext.identity.cognitoIdentityId,
":examId": data.examId
}
};
const result = await dynamoDb.query(params);
return result.Items;
});
这是我得到的错误: { "statusCode": 500, "body":"{"error":"查询条件缺少关键模式元素:sessionId"}", ... }
我认为也许应该包含一个过滤表达式,或者不确定是否需要使用索引重新创建数据库。
任何帮助都将感激。谢谢。