用grapQL实现查询mysql和elasticsearch

本文介绍如何在Node.js环境中利用GraphQL查询MySQL和Elasticsearch数据库。通过搭建服务器,配置数据库连接,创建schema及路由,实现了简单且直观的查询操作。虽然未进行性能测试,但适用于小型项目的快速开发。
摘要由CSDN通过智能技术生成

需求:最近发现graphql能简化前后端到端开发,于是就查了些资料,想使用GraphQL实现查询Mysql与elasticsearch

-----平台配置

    平台:CentOS7

    服务器:NodeJs - 8.9.4

    数据库:Mysql/ElasticSearch

    规范: ES6   (需要在项目中配置es6规范,否则会报错)

使用graphql:

Mysql

    1: 使用node + express 搭建服务器,在根目录下新建database目录,新建mysqldb.js

/**
 * use to connect
 * */
const Sequelize = require('sequelize');

const Conn = new Sequelize(
    'bayes',
    'root',
    'Root@1234',
    {
        'dialect': 'mysql',  // 数据库使用mysql
        'host': 'localhost', // 数据库服务器ip
        'port': 3306,       // 数据库服务器端口
        'define': {
            // 字段以下划线(_)来分割(默认是驼峰命名风格)
            'underscored': true
        }
    }
);
const Novehicle = Conn.define("result_novehicle",{
    id: {
        type: Sequelize.INTEGER,
        primaryKey: true,
        allowNull: false
    },
    cameraid: {
        type: Sequelize.STRING,
        allowNull: true
    },
    rtype: {
        type: Sequelize.STRING,
        allowNull: true
    },
    entrytime: {
        type: Sequelize.STRING,
        allowNull: true
    },
    leavetime: {
        type: Sequelize.STRING,
        allowNull: true
    },
    ori_img: {
        type: Sequelize.STRING,
        allowNull: true
    },
    img: {
        type: Sequelize.STRING,
        allowNull: true
    },
    sex: {
        type: Sequelize.STRING,
        allowNull: true
    },
    canopy: {
        type: Sequelize.STRING,
        allowNull: true
    },
    headwear: {
        type: Sequelize.STRING,
        allowNull: true
    },
    bicycletype: {
        type: Sequelize.STRING,
        allowNull: true
    },
    has_object: {
        type: Sequelize.STRING,
        allowNull: true
    },
    hair: {
        type: Sequelize.STRING,
        allowNull: true
    },
    lower_type: {
        type: Sequelize.STRING,
        allowNull: true
    },
    lower_color: {
        type: Sequelize.STRING,
        allowNull: true
    },
    upper_type: {
        type: Sequelize.STRING,
        allowNull: true
    },
    upper_color: {
        type: Sequelize.STRING,
        allowNull: true
    }
},{
    // 自定义表名
    'freezeTableName': true,
    'tableName': 'result_novehicle',

    // 是否需要增加
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值