我正在尝试实现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 我应该在这个代码中添加什么使它工作?
2条答案
按热度按时间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连接
rggaifut2#
我建议您在单独的文件中添加连接。在这之后你的主要问题是什么?因为mysql代码对于连接是正确的。
与
connection.connect()
它现在起作用了。