2. Query 구현하기
- 지난 실습 그대로 진행 또는 2-2-server-query 열기
Query 루트 타입
    type Query {
        teams: [Team]
    }
        - 자료요청에 사용될 쿼리들을 정의
- 쿼리 명령문마다 반환될 데이터 형태를 지정
Type 살펴보기
    type Team {
        id: Int
        manager: String
        office: String
        extension_number: String
        mascot: String
        cleaning_duty: String
        project: String
    }
        - 반환될 데이터의 형태를 지정
- 자료형을 가진 필드들로 구성
Resolver 살펴보기
const resolvers = {
  Query: {
    teams: () => database.teams
  }
}
        - Query란 object의 항목들로 데이터를 반환하는 함수 선언
- 실제 프로젝트에서는 MySQL 조회 코드 등..
equipments를 반환하는쿼리 만들어보기
- 
dbtester.js 생성 const database = require('./database') console.log(database.equipments)
- 
equipment의 데이터 자료형 type Equipment { id: String, used_by: String, count: Int, new_or_used: String }
- 
다수의 equipment를 반환하는 쿼리 type Query { ... equipments: [Equipment] }
- 
데이터베이스에서 equipments를 추출하여 반환하는 resolver Query: { // ... equipments: () => database.equipments }
- 
쿼리 요청해보기 query { equipments { id used_by count new_or_used } }
supplies 받아오기 추가
    query {
        ...
        type Supply {
            id: String,
            team: Int
        }
    }
            type Query {
        ...
        supplies: [Supply]
    }
            type Query {
        //...
        supplies: () => database.supplies
    }
        특정 team만 받아오기
- 
args로 주어진 id에 해당하는 team만 필터링하여 반환 Query: { //... team: (parent, args, context, info) => database.teams .filter((team) => { return team.id === args.id })[0], }
- 
id를 인자로 받아 하나의 Team 데이터를 반환 type Query { ... team(id: Int): Team }query { team(id: 1) { id manager office extension_number mascot cleaning_duty project } }
team에 supplies 연결해서 받아오기
- 
Team 목록을 반환 시 해당하는 supplies를 supplies 항목에 추가 Query: { // ... teams: () => database.teams .map((team) => { team.supplies = database.supplies .filter((supply) => { return supply.team === team.id }) return team }), }
- 
Team의 항목들 중 supplies: 다수의 Supply를 반환 type Team { id: Int manager: String office: String extension_number: String mascot: String cleaning_duty: String project: String supplies: [Supply] }