【问题标题】:How to change the database from MongoDB to MySQL in node application如何在节点应用程序中将数据库从 MongoDB 更改为 MySQL
【发布时间】:2021-06-07 04:54:54
【问题描述】:

我正在尝试将我的 MERN 项目的 MongoDB 数据库转换为 MySQL 数据库。有人可以帮我解决如何更改项目后端步骤的步骤。 我将 cors.js 和 env.js 存储在 utils 文件夹中,下面是代码: env.js

module.exports = {
    mongo: 'mongodb+srv://admin:admin@abc-abc.mongodb.net/sp?retryWrites=true'
}

cors.js

module.exports = function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*");
     res.header('Access-Control-Allow-Methods', 'DELETE, PUT, GET, POST'); 
     res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
     res.header("Access-Control-Allow-Headers","*")
     next();
    }

connection.js

const url = require('../utils/env');
const mongoose = require('mongoose');
mongoose.connect(url.mongo);

mongoose.connection.on('open',()=>{
    console.log("connected to database");
})

module.exports = mongoose;

userschema.js

const mongoose = require('../connection');

const Schema = mongoose.Schema;

const UserSchema = new Schema ({
    username: {type: String,required: true,unique: true},
    email: {type: String, required: true,unique:true},
    password: {type: String, required: true},
})

const userModel = mongoose.model('user',UserSchema);

module.exports = userModel;

请帮助我提供任何有用的链接或任何相关文章,以便我作为初学者尝试学习。

【问题讨论】:

  • 你的意思是nodejs应用吗? reactjs 是一个前端库
  • 是的,对于我的节点应用程序,抱歉错误!现已编辑完毕

标签: mysql node.js mongodb


【解决方案1】:

您需要使用 Sequelize ORM https://sequelize.org/ ,它类似于 mongoose 但它允许您使用和操作 SQL dbs。

【讨论】:

    【解决方案2】:

    您实际上可以使用 Sequelize 建立一个非常相似的连接。如果您使用的是 MySQL,您很可能还会使用 npm 安装 mysql2。 (您还可以将 Sequelize 与 POSTGRES、sqlite3、MariaDB 和其他一些东西一起使用。)

    另外,我建议使用连接池,而不是创建多个实例。这将有助于减少一些开销。这里有一些链接可以帮助解决我上面提到的所有问题:

    Sequelize 和连接数据库入门:https://sequelize.org/master/manual/getting-started.html

    连接池:https://sequelize.org/master/manual/connection-pool.html Sequelize构造函数API参考:https://sequelize.org/master/class/lib/sequelize.js~Sequelize.html#instance-constructor-constructor

    或者您可以在https://sequelize.org 站点找到更多关于模型的信息,以及关于使用 Sequelize ORM for MySQL 的其他重要概念。

    【讨论】:

      猜你喜欢
      • 2019-07-17
      • 2014-08-05
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多