DynamoDB在地图或列表类型上创建索引

Bry*_*ceH 34 amazon-web-services amazon-dynamodb

我正在尝试为DynamoDB中的地图对象内的属性添加索引,但似乎找不到这样做的方法.这是支持的东西还是索引真的只允许标量值?围绕这个的文档似乎非常稀少.我希望索引功能类似于MongoDB,但到目前为止,我使用点语法引用属性索引的方法还没有成功.我们非常感谢您提供的任何帮助或其他信息.

Ben*_*rtz 34

索引只能在顶级JSON属性上构建.此外,范围键必须是DynamoDB中的标量值(String,Number,Binary或Boolean之一).

来自http://aws.amazon.com/dynamodb/faqs/:

问:在DynamoDB中查询JSON数据有什么不同吗?

不可以.您可以在任何顶级JSON元素上创建全局二级索引或本地二级索引.例如,假设您存储了一个JSON文档,其中包含有关某人的以下信息:名字,姓氏,邮政编码以及所有朋友的列表.名字,姓氏和邮政编码将是顶级JSON元素.您可以创建一个索引,以便您根据名字,姓氏或邮政编码进行查询.朋友列表不是顶级元素,因此您无法索引朋友列表.有关全局二级索引及其查询功能的详细信息,请参阅此常见问题解答中的二级索引部分.

问:可以索引哪些数据类型?

所有标量数据类型(数字,字符串,二进制和布尔值)都可用于本地二级索引键的范围键元素.无法对设置,列表和地图类型编制索引.

  • 因此,如果地图属性很大,有效查询该属性的正确方法是什么? (2认同)