我是NoSQL数据库的新手,我遇到了问题。我只想从DynamoDB中包含特定值的表中获取密钥。我知道,对于关键等于我可以使用:
response = table.query(
KeyConditionExpression=Key('year').eq(1992)
)
但我无法使用:
response = table.query(
KeyConditionExpression=Key('year').contain('1992')
)
错误是:
密钥对象没有包含属性。
答案 0 :(得分:1)
您可以在此检查 Key class的所有方法:
https://github.com/boto/boto3/blob/develop/boto3/dynamodb/conditions.py
密钥类继承自类AttributeBase ,这里没有像contains,只有大于或以等开头。
答案 1 :(得分:0)
DynamoDB并不关注在查询API上使用contain
来获取关键属性。您只能将等于用于分区键属性。
CONTAINS 只能与 LIST或SET 数据类型一起使用。此外,它只能在FilterExpression
上使用。
CONTAINS:检查子序列或集合中的值。
列表支持CONTAINS:评估" a CONTAINS b"," a" 可以是一个清单;然而," b"不能是集合,地图或列表。