mysql - 将 MongoDB Auth 代码迁移到 Mysql Node.Js

标签 mysql node.js database mongodb passport.js

我正在尝试实现 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 的时间。

我的步骤是

  1. 使用我的 MongoDb 模型作为模板创建所有 MySql 表
  2. 创建一个 mysql.json 连接文件,允许从 NodeJS 连接到 MySql
  3. 使用 NPX 导入工具创建 MySQL 架构的定义 JSON 文件,我会在运行时在 NodeJS 中加载该文件
  4. 在我的路由中构建一个基于 Promise 的初始化函数,该函数与 MySql 连接并加载 defs 磁贴以在 MySql 表上执行类似 mongoose 的操作
  5. 确保在从我的 API 发送响应后关闭 MySQL 连接

关于mysql - 将 MongoDB Auth 代码迁移到 Mysql Node.Js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52511889/

相关文章:

mysql - 使用 Perl 插入 MySQL

Mysql连接的线程为1-3但经历了太多的连接

node.js - 如何在 Javascript (node.js) 开发人员模式下运行 Azure Application Insights

javascript - 当涉及到数据库请求时,WebSockets 可以取代 AJAX 吗?

mysql - 计算某些列的平均值,不计算空值

database - Zend_Db_Table : What happens when insert results in an error?

sql - MySQL:为表中的每个不同值在外表中的每个键插入一行

Mysql 条件求和

javascript - 没有过载匹配此调用。类型 'string' 不可分配给类型 'Signals'

node.js - 多次序列化查询