我在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],
我希望得到tip
,foo
和bar
的所有设定值 - 结果为1, 2, 3, 5, 7
。对于tip
和foo
,它将是1, 2, 3, 5
等等。
我可以通过对每个单独的类别使用ddb.query
来获取集合,然后在JavaScript中获取集合的并集,但这些集合可能相对较大,因此通过查询。我看到UNION
是DynamoDB中的关键字,但我似乎无法在其上找到更多信息。
是否可以从DynamoDB查询中获取集合的组合?
答案 0 :(得分: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必须在某种程度上简单,以提供可预测的性能和出色的可扩展性,并且只有从存储节点检索数据所需的基本操作由前端/协调器计算,将其他计算留给客户端。