【问题标题】:Migrating MongoDB Auth code to Mysql Node.Js将 MongoDB Auth 代码迁移到 Mysql Node.Js
【发布时间】:2019-03-01 21:17:22
【问题描述】:

我正在尝试实现 Oauth2 身份验证,我遇到了一个符合我描述的 GitHub 存储库,但使用的数据库是 MongoDB,我想使用 MySql。

我想把这段 MongoDB Authentication 的代码转换成 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 我应该在此代码中添加什么以使其正常工作?

【问题讨论】:

    标签: mysql node.js database mongodb passport.js


    【解决方案1】:

    我使用以下 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 表执行类似猫鼬的操作
    5. 确保在从我的 API 发送响应时关闭 MySQL 连接

    【讨论】:

      【解决方案2】:

      我建议您将连接添加到单独的文件中。 在此之后,您的主要问题是什么?因为mysql代码对于连接是正确的。

      connection.connect() 现在可以正常工作了。

      【讨论】:

      • 我已在单独的文件中添加了连接代码,但仍然无法正常工作
      猜你喜欢
      • 2012-09-14
      • 2017-07-05
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多