dynamodbsdkforphp:是否可以使用嵌套项的键扫描项列表?
我有一个这样的结构:dynamodbsdkforphp:是否可以使用嵌套项的键扫描项列表?,php,amazon-dynamodb,aws-sdk,Php,Amazon Dynamodb,Aws Sdk,我有一个这样的结构: { Id: "55e0173c485dd", Revisions: [ { CAS: "2132-123-123", ComponentName: "bar" }, { ComponentName: "baz" } ] } [ 'ExpressionAttributeValues' => [
{
Id: "55e0173c485dd",
Revisions: [
{
CAS: "2132-123-123",
ComponentName: "bar"
},
{
ComponentName: "baz"
}
]
}
[
'ExpressionAttributeValues' => [
':component' => [
'M' => [
'ComponentName' => ['S' => 'bar']
]
]
],
'FilterExpression' => 'contains (Revisions, :component)'
];
是否可以通过列表中项目的“ComponentName”进行扫描?
我找到了用参数扫描的唯一方法,如下所示:
{
Id: "55e0173c485dd",
Revisions: [
{
CAS: "2132-123-123",
ComponentName: "bar"
},
{
ComponentName: "baz"
}
]
}
[
'ExpressionAttributeValues' => [
':component' => [
'M' => [
'ComponentName' => ['S' => 'bar']
]
]
],
'FilterExpression' => 'contains (Revisions, :component)'
];
但它检查完整的项目匹配,在我的案例中无法找到带有“CAS”字段的项目
我需要MongoDB中类似“$elemMatch”的东西:
DynamoDB当前不支持查询/筛选列表中地图中的属性。如前所述,可以指定整个映射并使用表达式“contains(path.to.list,:Map)”并在表达式属性值中指定完整映射
这就是说,如果您付费通过扫描读取所有项目,您可以检索项目并在客户端处理它们以评估您的状况。是的,现在我明白了。谢谢!