[英]DynamoDB SDK for PHP: Is it possible to scan a list of items with key of a nested item?
我有这样的结构:
{
Id: "55e0173c485dd",
Revisions: [
{
CAS: "2132-123-123",
ComponentName: "bar"
},
{
ComponentName: "baz"
}
]
}
是否可以通过列表中项目的“ComponentName”执行扫描? 我找到了用这样的参数扫描的唯一方法:
[
'ExpressionAttributeValues' => [
':component' => [
'M' => [
'ComponentName' => ['S' => 'bar']
]
]
],
'FilterExpression' => 'contains (Revisions, :component)'
];
但它检查完整的项目匹配,并且在我的情况下无法找到带有“CAS”字段的项目。
我在MongoDB中需要类似“$ elemMatch”的东西:
http://docs.mongodb.org/manual/reference/operator/query/elemMatch/
DynamoDB当前不支持对List中的Map内的属性进行查询/过滤。 您可以如您所述,指定整个Map并使用表达式“contains(path.to.list,:map)”并在表达式属性值中指定完整的映射。
话虽这么说,如果你付费用无论如何都要通过扫描回读所有项目,你可以只检索项目并在客户端处理它们以评估你的状况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.