2016-11-08 72 views

回答

0

以下解决方案使用AWS SDK DynamoDB其替代。目前,我认为DynamoDB只有社区版本的Spring数据可用。因此,我提供了使用AWS SDK的解决方案。

QuerySpec Class

CONTAINS比较运算符可以用来搜索在LIST数据类型的值。

CONTAINS的支持列表:在评价 “A包含B”, “A” 可以是一个列表;但是,“b”不能是集合,地图或列表。

实施例: -

QuerySpec querySpec = new QuerySpec(); 
querySpec.withKeyConditionExpression("yearkey = :yearval and title = :title") 
       .withFilterExpression("contains (subscriptions, :subscriptions)") 
       .withValueMap(
         new ValueMap().withNumber(":yearval", yearKey) 
         .withString(":title", title) 
         .withString(":subscriptions", subscriptions)); 

编辑: -

目前,第二参数不能为列表,因为API不能处理它按照本说明书。解决方法是使用条件与多个CONTAINS。下面的例子: -

.withFilterExpression("contains (subscriptions, :subscriptions1) AND contains (subscriptions, :subscriptions2)") 
+0

在我的情况b也将是一个列表。我需要找到所有MongoDb的替代品。请建议。 –

+0

用解决方法更新了我的答案。 – notionquest

+0

感谢@notionquest –