Учитывая приведенную ниже структуру данных, я хотел бы написать выражение фильтра для запроса всех элементов, соответствующих данному выражению (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)
);
Как я могу легко получить все элементы базы данных, которые имеютпредмет с именем "item2" в коллекции nestedValues?
Заранее спасибо
(я также спрашивал на форуме AWS здесь: https://forums.aws.amazon.com/thread.jspa?messageID=881391󗋯)