dynamodb查询中对globalSecondaryIndex的查询条件为NOT_NULL



是否可以在dynamodb查询表达式中添加约束,说明GSI不应该为空?

谁能举个例子。

是否可以构造如下所示的查询?

new DynamoDBQueryExpression<XXX>()
            .withHashKeyValues(YYY).withKeyConditionExpression(GSI != NULL);

注意:请让我知道这是否可能在查询期间,而不是在过滤时间?

如果你和我一样,在寻找上述问题的答案时登陆了这个页面,这里是你需要看到的线程

如何查询DynamoDB中不存在的(null)属性

DynamoDB String属性不能为NULL或空字符串。

当你尝试插入NULL时,API应该抛出以下异常:-

java.lang.IllegalArgumentException: Input value must not be null

当你尝试插入空字符串时,API应该抛出以下异常:-

com.amazonaws.AmazonServiceException: One or more parameter values were invalid: An AttributeValue may not contain an empty string

如果你想在某些属性上添加额外的过滤器(即除了哈希或范围键以外的属性),你可以使用下面的语法(即withFilterExpression)。

不等于操作符"& lt;> "

Map<String, AttributeValue> eav = new HashMap<String, AttributeValue>();
eav.put(":val1", new AttributeValue().withS("Some value"));
DynamoDBQueryExpression<XXX> queryExpression = new DynamoDBQueryExpression<XXX>();
    queryExpression.withHashKeyValues(hashKeyValues);       
    queryExpression.withFilterExpression("docType <> :val1").withExpressionAttributeValues(eav);

相关内容

  • 没有找到相关文章

最新更新