首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行时约束LSI投影类型

运行时约束LSI投影类型
EN

Stack Overflow用户
提问于 2019-10-30 04:16:04
回答 1查看 229关注 0票数 0

我正在基于LSI对dynamo执行查询表达式,并且LSI的投影类型被设置为包含。如何在运行时将LSI投影更改为包含所有?我看到projectionExpression可以更改,但.if可行吗?是的,请告诉我

代码语言:javascript
复制
Projection projection = new Projection().withProjectionType(ProjectionType.ALL);

queryExpression.setProjectionExpression()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-30 08:42:45

你不能这么做。您的投影属性在写入时被复制到您的LSI中,因此尝试在运行时读取其他投影值是在请求不存在的数据。

dynamo中的索引仅仅是针对另一个键插入的数据的副本。Dynamo在幕后管理这种复制,并保持索引和主表保持同步。

,您将需要使用LSI重新创建您的表,以实现所有的。我相信您使用的投影API是用于所有项目时使用的,但可能希望返回所有项目的子集。

投影是将表复制到辅助索引中的一组属性。表的分区键和排序键总是投影到索引中;您可以投影其他属性以支持应用程序的查询需求。当查询索引时,Amazon可以访问投影中的任何属性,就好像这些属性位于自己的表中一样。

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LSI.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58618672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档