美文网首页
GraphQL+MongoDB+Express后端接口

GraphQL+MongoDB+Express后端接口

作者: dino小恐龙 | 来源:发表于2018-08-29 08:19 被阅读0次

    参考:https://juejin.im/post/5a49e5ccf265da430d585cfd

    实现目标

    前端调用

    前端向同一个URL发送携带graphQL查询语句的常见POST/GET请求, 返回的数据根据graphQL查询语句不同由graphQL的schema配置等不同从MongoDB数据库中查询得到相应的数据.

    // 前端接口调用示例
    $.ajax({
          url: '/graphql',
          data: {
            query: `query{
              student{
                id
                name
                sex
                age
              }
          },
          success:function (res){ console.log(res) }
        })
      })
    

    启动API接口server

    采用express(or koa等常用server框架)结合nodeJS启动一个server

    Tips: 单文件使用babel-polyfill便捷转码ES6

    require('babel-core/register')({
      'presets': [
        'stage-3',
        ["latest-node", { "target": "current" }]
      ]
    })
    require('babel-polyfill')
    require('./server')
    

    MongoDB配置&&连接&&CURD

    官方的定义

    Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment.

    原理:
    安装相应操作系统版本的MongoDB软件并启动后, 可以通过mongodb命令访问启动的数据库, 可以进行CURD操作. 对于Mongoose来说, MongoDB就是启动了一个服务, Mongoose使用mongodb这一协议来连接启动的MongoDB数据库服务, 通过Mongoose方法来操作MongoDB数据库.

    • MongoDB中数据模型对应关系型数据库中的, 传统关系型数据库中定义表结构对应此处MongoDB(非关系型数据库)定义数据模型
    • Mongoose是用来操作MongoDB数据库的一个工具库, Mongoose提供schema()方法来创建数据的模型(对应关系型数据库中定义表头字段和字段类型这一步), model()方法根据schema来创建model

    配置路由&&关联MongoDB

    操作数据的控制器

    控制器概念:
    控制器即是封装的一些操作数据(CURD)的方法(控制器), 其作用是关联前端API接口及传递的参数和MongoDB数据库数据关联关系.

    实现路由&&提供API接口

    配置路由, 每个路由对应相应的控制器

    关联GraphQL

    定义GraphQL Schema

    配置GraphQL查询界面

    前端调用接口

    相关文章

      网友评论

          本文标题:GraphQL+MongoDB+Express后端接口

          本文链接:https://www.haomeiwen.com/subject/xjqwpftx.html