以下のデータ構造を考えると、指定された式 (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狯 )