몽구스 모델만으로 GraphQL 서버 만들기

소개

Mongoose는 MongoDB 및 Node.js용 ODM(개체 데이터 모델링) 라이브러리이며 NodeJ 개발자에게 가장 친숙한 라이브러리 중 하나입니다. Mongoose는 REST 응용 프로그램에 널리 사용되었습니다. GraphQL 이 등장했습니다. 이 언어는 필요한 것을 정확히 얻기 ​​위한 API용 쿼리 언어로 두 가지를 연결하는 간단한 인터페이스가 없는 것 같습니다.

이 격차를 메우고 몽구스 모델에서 자동으로 GraphQL 서버를 생성하고 깊은 중첩 모집단을 지원하는 모든 모델에 기본 CRUD 작업을 제공하기 위해 이 라이브러리mongoose-graphql-server를 만들었습니다.

시작하기

이 라이브러리를 시작하고 몽구스 모델에서 GraphQL로 CRUD를 생성합니다.

참고: 무료 클라우드 MongDB 데이터베이스 체크아웃MongoDB Atlas으로 테스트하려면 MongoDB가 로컬에 설치되어 있거나 그에 따라 연결 문자열을 변경해야 한다고 가정합니다.

프로젝트의 디렉토리를 만드십시오.

해당 디렉토리에서 npm 또는 yarn을 사용하여 새 NodeJs 프로젝트를 시작합니다.

npm으로

$ npm init -y


원사 포함

$ yarn init -y


필요한 종속성 설치

$ npm install mongoose mongoose-graphql-server --save


또는

$ yarn add mongoose mongoose-graphql-server


서버 코드용 파일index.js 생성

const mongoose = require('mongoose');
const {
  generateSchema,
  createGraphQLServer,
} = require('mongoose-graphql-server');
const PORT = process.env.port || 3000;

mongoose.connect('mongodb://localhost/test');
const db = mongoose.connection;

const init = async () => {
  // Register models

  const userModel = mongoose.model('user', {name: String, age: Number});
  const catModel = mongoose.model('cat', {name: String});
  // Build the schema

  const schema = generateSchema(mongoose);

  // Create the graphQL server

  const app = await createGraphQLServer(schema);

  // Start the server

  app.listen(PORT, () => {
    console.log(
      `🚀🚀🚀 The server is running at http://localhost:${PORT}/`,
      `The GraphQL explorer is running at http://localhost:${PORT}/graphql`
    );
  });
};

db.once('open', init);



로 서버 시작

$ node index.js


오류가 없으면 GraphQL endpoint으로 이동하여 GraphQL 탐색기를 사용하여 탐색을 시작하거나 GraphQL voyager을 방문하여 ERD를 확인하십시오.

이 화면은 성공적인 서버 시작 시 표시되어야 합니다.


mongoose-graphql-server 또는 GitHub repository에서 더 많은 문서와 예제를 찾을 수 있습니다.

이것이 나의 첫 번째 npm 패키지이고 Hacktoberfest이 우리에게 있기 때문에 이 프로젝트에 대한 기여도 환영하므로 모든 유형의 피드백을 높이 평가합니다.

좋은 웹페이지 즐겨찾기