Last Sync: 2022-11-19 17:30:05

This commit is contained in:
tactonbishop 2022-11-19 17:30:05 +00:00
parent af7caca54b
commit c6908866dd
7 changed files with 69 additions and 7 deletions

View file

@ -2,7 +2,7 @@
title: Apollo Server
categories:
- Databases
tags: [graphql]
tags: [graphql, REST, APIs]
---
# Apollo Server

View file

@ -219,4 +219,66 @@ query track(id: 'xyz'){
}
```
The '
The `id` parameter would be used by the `modules` resolver to return the array of the `Modules` type.
## Variables in arguments
Instead of writing the following within our query constants on the client-side:
```js
query GetTrack {
track(id: 'xyz'){
title
}
}
```
We can make the code more reusable by using variables instead of the hardcoded `id` argument:
```js
query GetTrack($trackId: ID!) {
track(id: $trackId){
title
}
}
```
This way we do not need to write a new query constant every time we want to return a specific track.
## Send query with arguments using Apollo `useQuery`
We can now write a proper query using the [useQuery hook](/Databases/GraphQL/Apollo/Apollo_Client.md#usequery-hook) from Apollo Client, with variables.
First define our query constant:
```js
export const GET_TRACK = gql`
query GetTrack($trackId: ID!) {
track(id: $trackId) {
id
title
author {
name
}
description
modules {
id
title
length
}
}
}
`;
```
Then to employ in React:
```jsx
const trackId = "xyz";
const { loading, error, data } = useQuery(GET_TRACK, {
variables: trackId,
});
```
Note that in contrast to the [simple example](/Databases/GraphQL/Apollo/Apollo_Client.md#query-constants)

View file

@ -1,7 +1,7 @@
---
categories:
- Databases
tags: [mongo_db, node-js, mongoose]
tags: [mongo-db, node-js, mongoose]
---
# Adding documents to a collection

View file

@ -1,7 +1,7 @@
---
categories:
- Databases
tags: [mongo_db, node-js, mongoose]
tags: [mongo-db, node-js, mongoose]
---
# Creating a schema and model

View file

@ -1,7 +1,7 @@
---
categories:
- Databases
tags: [mongo_db, node-js, mongoose]
tags: [mongodb, node-js, mongoose]
---
# Validating Mongoose schemas

View file

@ -2,7 +2,7 @@
categories:
- Computer Architecture
tags:
- theory-of-omputation
- theory-of-computation
- history
---

View file

@ -2,7 +2,7 @@
title: Creating a GraphQL server
categories:
- Databases
tags: [graph-ql]
tags: [graphql]
---
# Creating a GraphQL server