Я полагаю, что вы должны иметь возможность использовать комбинацию выражений запросов и выражений фильтров для достижения своей цели.Попробуйте изменить свой резольвер на это:
{
"version" : "2017-02-28",
"operation" : "Query",
"query" : {
"expression": "studentId = :studentId",
"expressionValues" : {
":studentId" : {
"S" : "${ctx.args.studentId}"
}
}
},
"filter" : {
"expression": "chapterId = :chapterId AND isUserAudio = :isUserAudio",
"expressionValues" : {
":chapterId": {
"S": "${ctx.args.chapterId}"
},
":isUserAudio": {
"BOOL": "${ctx.args.isUserAudio}"
}
}
},
"index": "the-index-with-studentId-as-a-hashkey"
}
Сначала будет выполнен запрос к индексу, а затем с результатами из индекса будет применен фильтр к значениям.Дайте мне знать, если это работает!
Надеюсь, это поможет