몽구스 모델만으로 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이 우리에게 있기 때문에 이 프로젝트에 대한 기여도 환영하므로 모든 유형의 피드백을 높이 평가합니다.
Reference
이 문제에 관하여(몽구스 모델만으로 GraphQL 서버 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/danishsiraj/creating-a-graphql-server-from-just-mongoose-models-3mi1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)