gpt4 book ai didi

amazon-web-services - dynamodb 过滤器表达式中的 OR 条件

转载 作者:行者123 更新时间:2023-12-04 08:10:57 25 4
gpt4 key购买 nike

我有一个用例,我需要使用 dynamo db 查询表达式以编程方式查询 dynamo db。
例如,假设 A 和 B 有两个属性,我想要一个过滤器表达式,如 (A='Test' OR A ='Test1') and B='test2' .

我搜索了与此相关的内容,但没有找到有用的资源。
我是 dynamo db 的新手。

最佳答案

这就是你在java中的做法

Table table = dynamoDB.getTable(tableName);
QuerySpec spec = new QuerySpec()
// .withKeyConditionExpression("partitionKey = :id and sortKey > :range") // In case filter expression is on key attributes
.withFilterExpression("(A = :a1 or A = :a2) and B = :b")
.withValueMap(new ValueMap()
//.withString(":id", "Partition key value")
//.withString(":range", 100)
.withString(":a1", "Test")
.withString(":a2", "Test1")
.withString(":b", "test2"))
// .withConsistentRead(true);

ItemCollection<QueryOutcome> items = table.query(spec);

如果你的 A 和 B 是关键属性,你在 KeyConditionExpression 中指定它们,否则一切都在 FilterExpression 中。

主要区别在于,顾名思义,关键表达式应用于关键属性,并且由于它是您收取的费用,因此获取记录,而过滤器表达式是免费的,并在获取这些记录后应用以返回您仅匹配过滤条件记录。

了解更多阅读
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html

关于amazon-web-services - dynamodb 过滤器表达式中的 OR 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41250301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com