AppSync graphql查询未返回预期数据

AppSync graphql查询未返回预期数据,graphql,aws-amplify,aws-appsync,aws-amplify-cli,Graphql,Aws Amplify,Aws Appsync,Aws Amplify Cli,我有一个包含用户和事件的AppSync graphql模式,它应该具有双向连接。我的模式如下所示: type User @model { id: ID! email: String events: [EventUser] @connection(name: "EventUser", keyName: "byUser", fields: ["id"]) } type Event @model { id: ID! na

我有一个包含用户和事件的AppSync graphql模式,它应该具有双向连接。我的模式如下所示:

type User @model {
  id: ID!
  email: String
  events: [EventUser] @connection(name: "EventUser", keyName: "byUser", fields: ["id"])
}

type Event @model {
  id: ID!
  name: String
  description: String
  registeredUsers: [EventUser] @connection(name: "EventUser", keyName: "byEvent", fields: ["id"])
  invitedUsers: [User]
}

type EventUser
  @model(queries: null)
  @key(name: "byEvent", fields: ["eventId", "userId"])
  @key(name: "byUser", fields: ["userId", "eventId"]) {
  id: ID!
  eventId: ID!
  userId: ID!
  event: Event! @connection(fields: ["eventId"])
  user: User! @connection(fields: ["userId"])
}
export const listEvents = /* GraphQL */ `
  query ListEvents(
    $filter: ModelEventFilterInput
    $limit: Int
    $nextToken: String
  ) {
    listEvents(filter: $filter, limit: $limit, nextToken: $nextToken) {
      items {
        id
        name
        description
        registeredUsers {
          nextToken
        }
        createdAt
        updatedAt
      }
      nextToken
    }
  }
`;
query ListEvents {
  listEvents( limit: 10) {
    items {
      id
      name
      registeredUsers {
        items {
          userId
        }
      }
    }
  }
}
CLI生成的查询如下所示:

type User @model {
  id: ID!
  email: String
  events: [EventUser] @connection(name: "EventUser", keyName: "byUser", fields: ["id"])
}

type Event @model {
  id: ID!
  name: String
  description: String
  registeredUsers: [EventUser] @connection(name: "EventUser", keyName: "byEvent", fields: ["id"])
  invitedUsers: [User]
}

type EventUser
  @model(queries: null)
  @key(name: "byEvent", fields: ["eventId", "userId"])
  @key(name: "byUser", fields: ["userId", "eventId"]) {
  id: ID!
  eventId: ID!
  userId: ID!
  event: Event! @connection(fields: ["eventId"])
  user: User! @connection(fields: ["userId"])
}
export const listEvents = /* GraphQL */ `
  query ListEvents(
    $filter: ModelEventFilterInput
    $limit: Int
    $nextToken: String
  ) {
    listEvents(filter: $filter, limit: $limit, nextToken: $nextToken) {
      items {
        id
        name
        description
        registeredUsers {
          nextToken
        }
        createdAt
        updatedAt
      }
      nextToken
    }
  }
`;
query ListEvents {
  listEvents( limit: 10) {
    items {
      id
      name
      registeredUsers {
        items {
          userId
        }
      }
    }
  }
}
当我使用以下命令运行此查询时:

const result = await API.graphql(graphqlOperation(queries.listEvents, { limit: 10}))
我得到以下结果:

[
  {
    "createdAt": "2020-08-17T21:36:04.502Z",
    "description": "Event description",
    "id": "some-unique-id",
    "name": "Event name",
    "registeredUsers": Object {
      "nextToken": null,
    },
    "updatedAt": "2020-08-17T21:36:04.502Z",
  },
  {
     "createdAt": "2020-08-17T21:36:04.502Z",
     "id": "some-other-unique-id",
     "name": "event 2 name",
     "registeredUsers": Object {
       "nextToken": null,                  // <- This seems wrong.
     },
     "updatedAt": "2020-08-17T21:36:04.502Z"
  }
]
并返回正确的结果:

{
  "data": {
    "listEvents": {
      "items": [
        {
          "id": "some-unique-id",
          "name": "event name",
          "registeredUsers": {
            "items": [
              {
                "userId": "user"
              },
              {
                "userId": "user1"
              }
            ]
          }
        },
        {
          "id": "some-other-unique-id",
          "name": "event 2 name",
          "registeredUsers": {
            "items": []
          }
        },
      ]
    }
  }
}
显然,控制台查询略有不同,但它生成正确的结果,尽管它不处理
nextToken
分页

我的问题是:CLI生成的查询是否无效?如果是,是因为我的模式设置不正确吗? 如果生成的查询有效,我将如何调用它来获取
EventUser
数据