2015-10-06 162 views
0

我创造DynamoDB项目,如套,是这样的:联合查询

ddb.updateItem({TableName: table, Key: key {Category: {S: categoryName}}, 
    AttributeUpdate: {MySet: {Action: "ADD", Value: {SS: [ValueToAdd]}}} 
}); 

这个伟大的工程和MySet每类适当填充。

现在,我想从给定的类别列表中获得所有集合的联合。比方说,我有:

tip: [1, 2, 3], 
foo: [1, 3, 5], 
bar: [3, 5, 7], 

,我想所有的设定值的tipfoo,并bar - 结果将是1, 2, 3, 5, 7。对于刚刚tipfoo这将是1, 2, 3, 5

我可以用ddb.query为每个类别获得一组,然后让在JavaScript中集的工会做到这一点,但套可能比较大,因此通过查询可能会更好。我看到UNION是DynamoDB中的一个关键字,但我似乎无法找到关于它的更多信息。

是否有可能从DynamoDB查询中获得集合的联合?

回答

1

不,这是不可能的,DynamoDB查询(http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html)中不支持“UNION”,实际上没有其他人操作(http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Operations.html)。

这是因为DynamoDB必须有点简单才能提供可预测的性能和出色的可伸缩性,并且只有前端/协调器才能从存储节点获取数据检索所需的基本操作,而将其他计算留给客户端。