Indexing List Type field in a GraphQL type from within a Query
up vote
0
down vote
favorite
Say I have the following GraphQL Schema
query
allAuthors: [Author]
type Author
id: ID!
name: String!
books: [Book]
type Book
id: ID!
name: String!
author: Author!
Now I can successfully run the following query to get all the authors and their associated books
query
allAuthors
name,
books
name
However, if I only want to get the first three books for all authors, how would I go about doing something like that? Can we index the books
field in the Author
type from within a query? If so, how?
I tried something like this and it doesn't work
query
allAuthors
name,
books[3]
name
graphql
add a comment |
up vote
0
down vote
favorite
Say I have the following GraphQL Schema
query
allAuthors: [Author]
type Author
id: ID!
name: String!
books: [Book]
type Book
id: ID!
name: String!
author: Author!
Now I can successfully run the following query to get all the authors and their associated books
query
allAuthors
name,
books
name
However, if I only want to get the first three books for all authors, how would I go about doing something like that? Can we index the books
field in the Author
type from within a query? If so, how?
I tried something like this and it doesn't work
query
allAuthors
name,
books[3]
name
graphql
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
Say I have the following GraphQL Schema
query
allAuthors: [Author]
type Author
id: ID!
name: String!
books: [Book]
type Book
id: ID!
name: String!
author: Author!
Now I can successfully run the following query to get all the authors and their associated books
query
allAuthors
name,
books
name
However, if I only want to get the first three books for all authors, how would I go about doing something like that? Can we index the books
field in the Author
type from within a query? If so, how?
I tried something like this and it doesn't work
query
allAuthors
name,
books[3]
name
graphql
Say I have the following GraphQL Schema
query
allAuthors: [Author]
type Author
id: ID!
name: String!
books: [Book]
type Book
id: ID!
name: String!
author: Author!
Now I can successfully run the following query to get all the authors and their associated books
query
allAuthors
name,
books
name
However, if I only want to get the first three books for all authors, how would I go about doing something like that? Can we index the books
field in the Author
type from within a query? If so, how?
I tried something like this and it doesn't work
query
allAuthors
name,
books[3]
name
graphql
graphql
asked Nov 10 at 22:12
Siddharth Sharma
187
187
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
accepted
GraphQL doesn't have syntax for this.
You can add a "limit" parameter to a field, and this is common enough:
type Query
allAuthors(limit: Int, offset: Int): [Author!]!
type Author
id: ID!
name: String!
books(limit: Int, offset: Int): [Book!]!
If you add parameters like this to the schema, then the query you want (for all authors, get the first three books) could look like
allAuthors
name
books(limit: 3)
name
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
GraphQL doesn't have syntax for this.
You can add a "limit" parameter to a field, and this is common enough:
type Query
allAuthors(limit: Int, offset: Int): [Author!]!
type Author
id: ID!
name: String!
books(limit: Int, offset: Int): [Book!]!
If you add parameters like this to the schema, then the query you want (for all authors, get the first three books) could look like
allAuthors
name
books(limit: 3)
name
add a comment |
up vote
2
down vote
accepted
GraphQL doesn't have syntax for this.
You can add a "limit" parameter to a field, and this is common enough:
type Query
allAuthors(limit: Int, offset: Int): [Author!]!
type Author
id: ID!
name: String!
books(limit: Int, offset: Int): [Book!]!
If you add parameters like this to the schema, then the query you want (for all authors, get the first three books) could look like
allAuthors
name
books(limit: 3)
name
add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
GraphQL doesn't have syntax for this.
You can add a "limit" parameter to a field, and this is common enough:
type Query
allAuthors(limit: Int, offset: Int): [Author!]!
type Author
id: ID!
name: String!
books(limit: Int, offset: Int): [Book!]!
If you add parameters like this to the schema, then the query you want (for all authors, get the first three books) could look like
allAuthors
name
books(limit: 3)
name
GraphQL doesn't have syntax for this.
You can add a "limit" parameter to a field, and this is common enough:
type Query
allAuthors(limit: Int, offset: Int): [Author!]!
type Author
id: ID!
name: String!
books(limit: Int, offset: Int): [Book!]!
If you add parameters like this to the schema, then the query you want (for all authors, get the first three books) could look like
allAuthors
name
books(limit: 3)
name
answered Nov 10 at 23:05
David Maze
7,9232821
7,9232821
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243941%2findexing-list-type-field-in-a-graphql-type-from-within-a-query%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown