我是AppSync的新手,我在将头缠绕在VTL解析器上时遇到了一些麻烦。我正在尝试使应该是一个非常基本的解析器功能起作用。我尝试使用的功能是用户的最爱。在我的应用中,用户可以发表文章,其他用户可以收藏/保存文章。我希望用户能够查看他们保存的所有帖子。
相关的AppSync架构如下:
type User {
id: ID!
...other fields
favorites: [Post!]
}
type Post{
id: ID!
title: String!
description: String!
owner: ID!
}
在名为UserTable的dynamoDB表中,我有一列称为收藏夹,其类型为StringSet。此集合中的项目是在PostTable中找到的帖子的ID(也是主键)。
收藏夹列表的示例如下
favorites[ "021612bf-61ed-418f-a913-3dc0e63ca952", "0687c0e8-5f87-4315-b383-908dab0e258f" ]
我正在尝试将解析器附加到
favorites: [Post!]
用户类型下的字段。我得到了一个查询,以使用此解析器返回单个帖子,但是UserTable中的收藏夹列是单个字符串而不是列表。
{
"version" : "2017-02-28",
"operation" : "Scan",
"filter" : {
"expression" : "id = :id",
"expressionValues" : {
":id" : { "S" : "$ctx.source.favorites" }
}
}
}