【发布时间】:2020-10-01 07:14:54
【问题描述】:
比方说,我有 Users 写评论 Products。
User 和 Product 是具有各自 ID 的独立实体。
Review 是一个由userId 和productId 组成的复合id 的实体。
我在 DynamoDB 中创建了一个表 review,其中 userId 和 productId 作为 HASH 键。
aws dynamodb create-table --table-name review \
--attribute-definitions \
AttributeName=user_id,AttributeType=S \
AttributeName=product_id,AttributeType=S \
--key-schema \
AttributeName=user_id,KeyType=HASH \
AttributeName=product_id,KeyType=RANGE \
--provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=5
从而使userId+productId成为复合键。
评论数据对象是针对该键保存的。
查询用户和产品的评论很好。
但是如何查询用户的所有评论或产品的所有评论?
使用单个参数,例如如果我只使用 "#user_id = :userId" 或仅使用 "#product_id = :productId" 通过单键条件表达式进行查询
我收到表单错误
Query condition missed key schema element: user_id
或
Query condition missed key schema element: product_id
【问题讨论】:
-
你能显示给你错误的完整查询吗?
标签: amazon-dynamodb dynamodb-queries