如何获得具有二级索引的某个项目
how to get a certain item with secondary index
我需要一些帮助;我正在尝试从 dynamodb table 中获取某个项目,方法是使用特定 ID(主键)e 调用它,并使用名为 index_book.
的全局二级索引
感兴趣的函数如下:
case "GET /book/{id}":
body = await dynamo
.get({
TableName: "book",
Key: {
id: event.pathParameters.id
}
})
.promise();
break;
我去调用具有特定 ID 的 url 的那一刻,例如 /book/7(其中 7 是 ID)
我收到以下错误:
“提供的关键元素与模式不匹配”
你能帮帮我吗?我会非常感谢你。
您不能针对 GSI 执行获取项目,您必须执行查询。这是因为在 GSI 中没有唯一性约束,并且多个项目可能具有相同的分区键/排序键组合。
因此将 get 切换为查询,您还需要指定 IndexName。
我需要一些帮助;我正在尝试从 dynamodb table 中获取某个项目,方法是使用特定 ID(主键)e 调用它,并使用名为 index_book.
的全局二级索引感兴趣的函数如下:
case "GET /book/{id}":
body = await dynamo
.get({
TableName: "book",
Key: {
id: event.pathParameters.id
}
})
.promise();
break;
我去调用具有特定 ID 的 url 的那一刻,例如 /book/7(其中 7 是 ID) 我收到以下错误:
“提供的关键元素与模式不匹配”
你能帮帮我吗?我会非常感谢你。
您不能针对 GSI 执行获取项目,您必须执行查询。这是因为在 GSI 中没有唯一性约束,并且多个项目可能具有相同的分区键/排序键组合。
因此将 get 切换为查询,您还需要指定 IndexName。