将mongodb验证代码迁移到mysql node.js

ql3eal8s  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(692)

我正在尝试实现oauth2身份验证,我遇到了一个符合我描述的github repo,但是使用的数据库是mongodb,我想使用mysql。
我想把mongodb认证的代码转换成mysql

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/MyDatabase');

const Schema = mongoose.Schema;
const UserDetail = new Schema({
  username: String,
  password: String
});
const UserDetails = mongoose.model('userInfo', UserDetail, 'userInfo');

到现在为止我已经写了这么多代码

var mysql = require('mysql');
var connection   = mysql.createConnection({
supportBigNumbers: true,
bigNumberStrings: true,
host     : "localhost",
user     : "root",
password : "root",
database : "db_users"
});

请参考以下github repo获取完整代码https://github.com/sitepoint-editors/localpassportauth 我应该在这个代码中添加什么使它工作?

qnyhuwrf

qnyhuwrf1#

我用下面的npm包成功地回答了这个问题
https://github.com/aponica/mysqlgoose-js
在我的免费mlabs帐户被停用并且mongodb强迫我使用付费计划之后,我将nodejs认证api迁移到使用mysql作为后端数据库而不是使用mongodb,这节省了我的时间。
对我来说,台阶是
使用mongodb模型作为模板创建所有mysql表
创建一个mysql.json连接文件,允许从nodejs到mysql的连接
使用npx导入工具创建mysql模式的定义json文件,我在运行时在nodejs中加载该文件
在myroutes中构建一个基于promise的初始化函数,该函数连接mysql并加载defs tile,以便在mysql表上执行类似mongoose的操作
确保在从我的api发送响应时关闭mysql连接

rggaifut

rggaifut2#

我建议您在单独的文件中添加连接。在这之后你的主要问题是什么?因为mysql代码对于连接是正确的。
connection.connect() 它现在起作用了。

相关问题