我有这样的结构:
{
Id: "55e0173c485dd",
Revisions: [
{
CAS: "2132-123-123",
ComponentName: "bar"
},
{
ComponentName: "baz"
}
]
}
是否可以通过" ComponentName"进行扫描。列表中的项目? 我找到了用这样的参数扫描的唯一方法:
[
'ExpressionAttributeValues' => [
':component' => [
'M' => [
'ComponentName' => ['S' => 'bar']
]
]
],
'FilterExpression' => 'contains (Revisions, :component)'
];
但它检查完整的项目匹配,但无法找到" CAS"在我的案例中。
我需要像" $ elemMatch"在MongoDB中:
http://docs.mongodb.org/manual/reference/operator/query/elemMatch/
答案 0 :(得分:1)
DynamoDB当前不支持对List中的Map内的属性进行查询/过滤。您可以如您所说,指定整个Map并使用表达式“contains(path.to.list,:map)”并在表达式属性值中指定完整的映射。
话虽如此,如果您付费用于扫描所有带有扫描的物品,您可以检索物品并在客户端处理它们以评估您的状况。