문법 정리

prisma 서버를 개발할 때 필요한 내용들을 정리하는 곳입니다.

1. Datamodel에 문자열 배열 사용하기

문자열 배열을 사용하기 위해서는 아래와 같이 scalarList에 대한 정의를 해줘야 합니다.

type Project {
  id : ID! @id
  skills : [String] @scalarList(strategy: RELATION) 
  myTasks : [String] @scalarList(strategy: RELATION) 
}

2. 존재 여부 확인 - $exist

이메일을 사용중인지, 아이디를 사용중인지 체크해야할 상황이 생기는데 그 때 사용하는 방법입니다.

1569164515733

const user = await prisma.$exists.user({ email });

3. 모든 데이터 가져오기

모든 유저 정보 불러오기

prisma.users();

4. unique 값으로 찾기

unique 값인 companyId 로 회사 찾기

const company = await prisma.company({ companyId });

5. Mutation Input

참고 사이트 1 참고 사이트 2

6. 배열 안에 값이 있는지 찾기 - ~~~__some

import { prisma } from "../../../../generated/prisma-client";

export default {
  Query: {
    searchCompany: async (_, args) => {
      const { job } = args;
      return await prisma.companies({
        where: {
          recruits_some: {
            job_contains: job
          }
        }
      });
    }
  }
};

7. 하위 type에 접근하고 싶다면 정의를 해야함

import { prisma } from "../../../generated/prisma-client";

export default {
  Company: {
    recruits: parent => prisma.company({ id: parent.id }).recruits()
  }
};