给定下面的数据结构,我想编写一个过滤表达式来查询与给定表达式匹配的所有项目(items.name = :param)
{
"id" : "1",
// nested collection
"nestedValues": [
{
"id" : "1",
"name":"item1"
},
{
"id": "2",
"name":"item2"
}
]
}
我只是尝试过(但它不起作用):
String filterExpression = "nestedValues.name = :param";
Map valueMap = new HashMap();
valueMap.put(":param", "item2");
ItemCollection itemCollection = table.scan(
new ScanSpec()
.withFilterExpression(filterExpression)
.withValueMap(valueMap)
);
当我尝试时(当然它可以工作,因为我在集合中指定了索引):
String filterExpression = "nestedValues[1].name = :param";
Map valueMap = new HashMap();
valueMap.put(":param", "item2");
ItemCollection itemCollection = table.scan(
new ScanSpec()
.withFilterExpression(filterExpression)
.withValueMap(valueMap)
);
如何轻松获取在 nestedValues 集合中具有名称为“item2”的项目的所有数据库项目?
先感谢您
(我也在 AWS 论坛上问过:https ://forums.aws.amazon.com/thread.jspa?messageID=881391狯 )