В AWS Amplify + Appsync использовать @connection для создания соединения между таблицами очень просто.Простым примером этого является следующая таблица Task
и связанная с ней Comments
type Task @model{
id: ID!
createdAt: String
name: String
comments: [Comments] @connection(name:"TaskComments", sortField: "createdAt")
status: String
}
type Comments @model{
id: ID!
createdAt: String
task: Task @connection(name:"TaskComments", sortField: "createdAt")
taskId: String
}
, и она даже автоматически генерирует схему для вас:
type Task {
id: ID!
createdAt: String
name: String
comments(limit: Int, nextToken: String): ModelCommentsConnection
Status: String
}
type Query {
///... other not-related queries omitted
getTask(id: ID!): Task
}
Проблема заключается в том, что запросвозвращает только 10 предметов (Comments)
, даже если у меня есть намного больше.(Я вижу nextToken
в ответе, но это другая история).Я хочу иметь возможность возвращать 20, 30 или более комментариев на начальную загрузку.
Я попытался передать limit:1000
, но запрос его игнорирует.
graphql(
gql(getTask),
{
options: ({match: {params: {id}}}) => ({
variables: {id, limit:1000},
fetchPolicy: 'cache-and-network',
}),
props: ({data: {getTask: task, loading}}) => ({
task,
loading,
}),
},
),
Этот вопрос очень похож на: Запрос AWS Amplify Graphql при @ connection
Но в моем случае я использую React + AWS Amplify.
Большое спасибо.