Я новичок в AppSync, и у меня возникли небольшие проблемы, когда я оборачиваюсь вокруг решателей VTL.Я пытаюсь заставить работать то, что должно быть довольно простой функцией распознавания.Функциональность, которую я пытаюсь заставить работать - это избранное пользователя.В моем приложении пользователи могут создавать сообщения, а другие пользователи могут добавлять / сохранять сообщения.Я хочу, чтобы пользователь мог просматривать все сохраненные сообщения.
Соответствующая схема AppSync выглядит следующим образом:
type User {
id: ID!
...other fields
favorites: [Post!]
}
type Post{
id: ID!
title: String!
description: String!
owner: ID!
}
В таблице DynamoDB с именем UserTable Iесть столбец с именем избранное, который имеет тип StringSet.Элементы в этом наборе являются идентификаторами (которые также являются первичными ключами) сообщений, найденных в PostTable.
Пример списка избранного выглядит следующим образом:
favorites[ "021612bf-61ed-418f-a913-3dc0e63ca952", "0687c0e8-5f87-4315-b383-908dab0e258f" ]
Я пытаюсь прикрепитьпреобразователь в поле
favorites: [Post!]
в поле Тип пользователя.Я получил запрос на возврат одного сообщения с этим преобразователем, но столбец избранного в пользовательской таблице представлял собой одну строку, а НЕ список.
{
"version" : "2017-02-28",
"operation" : "Scan",
"filter" : {
"expression" : "id = :id",
"expressionValues" : {
":id" : { "S" : "$ctx.source.favorites" }
}
}
}