我正将部分应用程序从MySQL迁移到DynamoDB。 我试图重写的其中一个查询看起来像(在SQL中):
select .... from ... where value is null or value = false;
我想知道,我怎么能在DynamoDB中重写disjunction(这个OR子句)? 目前我只是检查值是否为假:
scanExpression.addFilterCondition("value", new Condition().
withComparisonOperator(ComparisonOperator.EQ).
withAttributeValueList(new AttributeValue().withN(BOOLEAN_FALSE)));
任何帮助/建议都将受到高度赞赏! 提前谢谢。
答案 0 :(得分:0)
您可以将Conditional Operator作为扫描的一部分,同时使用AND
或OR
个多个条件。只需使用ScanRequest.setConditionalOperator API并添加多个条件。
作为一个注释,你实际上并不存储NULL
作为项目的属性;相反,将缺少属性视为NULL
。