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