1

给定下面的数据结构,我想编写一个过滤表达式来查询与给定表达式匹配的所有项目(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狯 )

4

0 回答 0