Red*_*air 2 python amazon-web-services amazon-dynamodb
我是 NoSQL 数据库的新手,遇到了一个问题。我只想从 DynamoDB 中包含特定值的表中获取键。我知道对于关键等于我可以使用:
response = table.query(
KeyConditionExpression=Key('year').eq(1992)
)
Run Code Online (Sandbox Code Playgroud)
但我不能使用:
response = table.query(
KeyConditionExpression=Key('year').contain('1992')
)
Run Code Online (Sandbox Code Playgroud)
错误是:
键对象没有包含属性。
DynamoDB 不遵循contain用于 Query API 上的关键属性。您只能对分区键属性使用equals。
CONTAINS只能与LIST 或 SET数据类型一起使用。此外,它只能用于FilterExpression.
CONTAINS :检查子序列或集合中的值。
列表支持 CONTAINS:当评估“a CONTAINS b”时,“a”可以是一个列表;但是,“b”不能是集合、映射或列表。
小智 5
在 2023 年查看这个问题的人们(至少使用当前版本的 Boto!)将会被误导到这里的其他答案。
现在,您可以使用 Attr 对象(而不是 Key)检查值是否包含子字符串。
response = table.scan(
FilterExpression=Attr('key').contains(string)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7705 次 |
| 最近记录: |