GithubHelp home page GithubHelp logo

naihe138 / graphql-demo Goto Github PK

View Code? Open in Web Editor NEW
243.0 243.0 39.0 5.86 MB

🎉Koa + GraphQL + Apollo-Server demo

JavaScript 79.19% HTML 15.08% CSS 5.73%
graphql-demo jquery koa mongodb mongoose nodejs

graphql-demo's Introduction

这是利用Koa + GraphQL + Apollo-Server实现的,学生信息增、删、改、查的栗子

本栗子将搭配Koa实现一个GraphQL查询,逐步从简单Kao服务、到Mongodb的数据插入查询、再到GraphQL的使用,让大家快速看到:

  • 搭建Koa搭建一个后台项目
  • 后台路由简单处理方式
  • 利用Mongoose简单操作Mongodb的增、删、改、查
  • 掌握Apollo-Server简单操作数据的增、删、改、查
  • 掌握GraphQL的入门姿势

项目视图

  • 查询

  • 新增学生

  • 新增课程

  • FE-demo

使用方法

1、git clone https://github.com/naihe138/GraphQL-demo.git

2、npm install or yarn

3、npm start

graphql-demo's People

Contributors

naihe138 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

graphql-demo's Issues

建议

首先非常感谢repo主分享

提几个建议

  1. README是否可以考虑下重写,不要用原来的官方内容,和代码不匹配
  2. 配置信息是否可以写详细,比如需要安装什么数据库,你自己用的什么版本的数据库,初始化数据库和数据的步骤

既然贡献给大家参考,那么不妨考虑下我的建议。

谢谢你的努力!

如何写入MongoDB数据

您好,请问是需要手动在MongoDB写入数据吗,数据的格式是什么样子的呢?
现在运行项目 数据都是空的

【建议】能否提供完整的流程

由于自己最近在学习graphql,但是卡在graphql如何与数据库中的数据进行关联,作者能否提供 数据库建表的数据,这样我好看(鄙人前端,所以对后台这块不熟,琢磨起来有些吃力)

const { gql } = require('apollo-server-koa')
const mongoose = require('mongoose')

const CourseModel = mongoose.model('Course')
const InfoModel = mongoose.model('Info')
const StudentModel = mongoose.model('Student')

const typeDefs = gql`
  type Course {
    title: String
    desc: String
    page: Int
    author: String
  }
  type Info {
    height: String
    weight: String
    hobby: [String],
    studentId: ID,
    _id: ID
  }
  type Student {
    name: String
    sex: String
    age: Int,
    _id: ID,
    info: Info
  }
  type Query {
    getCourse: [Course]
    getStudent: [Student]
    getStudentInfo(id: ID): Info
    getInfo: [Info]
  }
  type Mutation {
    addCourse(post: CourseInput): Course,
    addStudent(post: StudentInput): Student
    addStudentInfo(id: ID, height: String, weight: String, hobby: [String]): Info
    changeStudentInfo(id: ID, height: String, weight: String, hobby: [String]): Info
  }
  input CourseInput {
    title: String
    desc: String
    page: Int
    author: String
  }
  input StudentInput {
    name: String
    sex: String
    age: Int
  }
`

上面代码中的 字段是否与数据库中的字段一样吗?

期待作者的回应

优化

要是把mongodb造数据的sql也给下就更好了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.