我正在尝试实现 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 存储库以获取完整代码 https://github.com/sitepoint-editors/LocalPassportAuth 我应该在这段代码中添加什么才能使其正常工作?
最佳答案
我使用以下 NPM 包成功回答了这个问题
https://github.com/aponica/mysqlgoose-js
在我的免费 mLabs 帐户被停用并且 MongoDB 强制我使用付费计划后,它节省了我将 NodeJS 身份验证 API 迁移到使用 MySQL 作为后端数据库而不是使用 MongoDB 的时间。
我的步骤是
- 使用我的 MongoDb 模型作为模板创建所有 MySql 表
- 创建一个 mysql.json 连接文件,允许从 NodeJS 连接到 MySql
- 使用 NPX 导入工具创建 MySQL 架构的定义 JSON 文件,我会在运行时在 NodeJS 中加载该文件
- 在我的路由中构建一个基于 Promise 的初始化函数,该函数与 MySql 连接并加载 defs 磁贴以在 MySql 表上执行类似 mongoose 的操作
- 确保在从我的 API 发送响应后关闭 MySQL 连接
关于mysql - 将 MongoDB Auth 代码迁移到 Mysql Node.Js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52511889/