当前位置:  开发笔记 > 程序员 > 正文

FriendsList的AWS AppSync用户关系

如何解决《FriendsList的AWSAppSync用户关系》经验,为你挑选了1个好方法。



1> 小智..:

今天,在AppSync中可以做到这一点。

为此,您可以在架构中添加一个名为getUsergetUsergetFeeds在这种情况下更有意义)的查询字段,并且它将具有一个解析器,该解析器从数据源中检索User对象。

type Query {
    getAllUsers(limit: Int): [User]
    getUser(id:ID!): User
}

然后,您也可以在User.followingUser.userFeed字段上添加解析程序。该User.following解析器将查询数据源并检索其中有人跟随用户。该User.userFeed解析器将查询数据源检索用户提要列表。

这两个解析器(User.followingUser.userFeed)都应$context.source在解析器的请求映射模板中使用。此变量将包含getUser解析程序的结果。请求映射模板的工作是创建数据源可以理解的查询。

可能附带的示例请求映射模板可能User.following类似于以下内容。它将查询名为“ Following”的表,该表的主分区键为id(用户的id):

{
    "version" : "2017-02-28",
    "operation" : "Query",
    "query" : {
        ## Provide a query expression. **
        "expression": "id = :id",
        "expressionValues" : {
            ":id" : {
                ## Use the result of getUser to populate the query parameter **
                "S" : "${ctx.source.id}"
            }
        }
    }
}

您将必须对User.userFeed解析器执行类似的操作。

完成所有设置后,可以运行以下查询,然后将发生以下情况:

query {
    getUser(id:"myUserId") {
    following {
      userFeed {
        id
        ImageDataUrl
        textData
        date
      }
    }
  }
}

    getUser解析器将首先运行。它将查询您的用户数据源并检索用户。

    User.following解析器将运行。它将使用其父字段解析器(getUser)的结果来查询数据源以进行跟踪。

    User.userFeed解析器将运行。它将使用其父字段解析器(getUser)的结果来查询用户供稿数据源。

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有