Javascript 基于嵌套对象数组中的匹配检索记录
我在DynamoDb中有一个表Javascript 基于嵌套对象数组中的匹配检索记录,javascript,node.js,amazon-web-services,amazon-dynamodb,Javascript,Node.js,Amazon Web Services,Amazon Dynamodb,我在DynamoDb中有一个表X,其中的数据如下所示: { 'ID': '5', 'Parents': [ { 'ParentID': '1' }, { 'ParentID': '2' } ] } 我想创建一个扫描,为我提供X中的所有实体,这些实体有一个具有特定ID的父实体。我如何才能做到这一点 这样的扫描返回0个结果: const params =
X
,其中的数据如下所示:
{
'ID': '5',
'Parents': [
{
'ParentID': '1'
},
{
'ParentID': '2'
}
]
}
我想创建一个扫描,为我提供X
中的所有实体,这些实体有一个具有特定ID的父实体。我如何才能做到这一点
这样的扫描返回0个结果:
const params =
{
'TableName': 'X',
'ScanFilter': {
'Parents.ParentID': {
'ComparisonOperator': 'EQ',
'AttributeValueList': [{ 'S': '1' }]
},
},
};
我不相信有任何方法可以做到这一点,因为您在您的
父母中使用Map
类型,我看不到任何方法可以在这样的属性上使用FilterExpression
。一种方法是(不知道你走了多远)将父项设置为StringSet
并使用过滤器表达式如包含(父项,:v)
其中“:v”
的计算结果为您要查找的Id。@在这个精心设计的示例中,这将是一个解决方案,但遗憾的是,我在父对象中的对象包含多个字段,因此它不是一个选项(我认为)。