【发布时间】:2017-07-21 15:37:17
【问题描述】:
我将一个带有 JSON 的项目放入 DynamoDB 中的一个表中:
String jsonString = "{"
+ " \"jsonid\": 4711"
+ " }";
Item item = new Item()
.withPrimaryKey("Id", 1)
.withJSON("jsondata", jsonString);
table.putItem(item);
json 存储在属性 jsondata 中为
{ "jsonid" : { "N" : "4711" }}
是否可以创建索引“jsonid”的索引?
或者我必须为此创建一个额外的属性吗?根据https://aws.amazon.com/dynamodb/faqs/ 看来应该是可以的,但是我不明白如何指定索引。通过控制台创建索引时,“jsondata.jsonid”似乎不起作用。
“问:在 DynamoDB 中查询 JSON 数据有什么不同吗?
没有。您可以在任何顶级 JSON 元素上创建全局二级索引或本地二级索引。例如,假设您存储了一个 JSON 文档,其中包含有关某人的以下信息:名字、姓氏、邮政编码以及他们所有朋友的列表。名字、姓氏和邮政编码将是顶级 JSON 元素。您可以创建一个索引,让您根据名字、姓氏或邮政编码进行查询。朋友列表不是顶级元素,因此您不能索引朋友列表。有关全局二级索引及其查询功能的更多信息,请参阅本常见问题解答中的二级索引部分。”
【问题讨论】:
标签: json amazon-dynamodb