第十二章:Node.js 实战入门指南 – Express 数据库集成和连接(MySQL、MongoDB、PostgreSQL、Redis)

在上一个章节中 – 第十一章:Node.js 实战入门指南 – 用数据库Sequelize ORM框架来实现CRUD我们学习了如何操作CRUD,今天我们把想着的数据库连接方式都来讲一遍,后面我们在项目中会用到

在本章中,我们将介绍如何在 Node.js 的 Express 应用程序中进行数据库集成和连接。我们将探讨几种主流数据库(MySQL、MongoDB、PostgreSQL、Redis)的连接方式,并提供在本地开发和生产环境中的代码配置示例。

MySQL 数据库连接

本地开发环境

在本地开发环境中,我们可以使用 mysql2 模块来连接 MySQL 数据库。以下是连接 MySQL 的示例代码:

const mysql = require('mysql2');









const connection = mysql.createConnection({
  host: 'localhost',

  user: 'root',
  password: 'your_password',


  database: 'your_database',

});



connection.connect((err) => {
  if (err) {
    console.error('Error connecting to MySQL database:', err);
    return;
  }
  console.log('Connected to MySQL database!');
});


module.exports = connection;

hostuserpassworddatabase 替换为你自己的 MySQL 数据库的连接信息。上述代码创建了一个 MySQL 连接,并在连接成功后打印一条成功的消息。

生产环境配置

在生产环境中,我们建议使用连接池来管理数据库连接。连接池可以有效地管理和复用数据库连接,提高性能和可扩展性。以下是在生产环境中使用连接池连接 MySQL 数据库的示例代码:

const mysql = require('mysql2');









const pool = mysql.createPool({
  host: 'your_host',
  user: 'your_user',
  password: 'your_password',


  database: 'your_database',

  connectionLimit: 10, // 设置连接池的连接数量
});



const connection = pool.promise();


module.exports = connection;

hostuserpassworddatabase 替换为你的 MySQL 数据库连接信息,并根据需求设置连接池的连接数量。

MongoDB 数据库连接

本地开发环境

在本地开发环境中,我们可以使用 mongoose 模块来连接 MongoDB 数据库。以下是连接 MongoDB 的示例代码:

const mongoose = require('mongoose');









mongoose.connect('mongodb://localhost/your_database', {
  useNewUrlParser: true,

  useUnifiedTopology: true,

})

  .then(() => {

    console.log('Connected to MongoDB database!');

  })

  .catch((err) => {

    console.error('Error connecting to MongoDB database:', err);

  });



module.exports = mongoose.connection;

'mongodb://localhost/your_database' 替换为你自己的 MongoDB 连接 URL,其中 your_database 是你要连接的数据库名称。

生产环境配置

在生产环境中,我们建议使用环境变量来配置 MongoDB 连接。这样可以提高安全性和灵活性。以下是在生产环境中使用环境变量连接 MongoDB 数据库的示例代码:

const mongoose = require('mongoose');









mongoose.connect(process.env.MONGODB_URI, {
  useNewUrlParser: true,

  useUnifiedTopology: true,

})

  .then(() => {

    console.log('Connected to MongoDB database!');

  })

  .catch((err) => {

    console.error('Error connecting to MongoDB database:', err);

  });



module.exports = mongoose.connection;

在上述代码中,我们使用 process.env.MONGODB_URI 来获取 MongoDB 连接 URL,该值可以通过设置环境变量来配置。

PostgreSQL 数据库连接

本地开发环境

在本地开发环境中,我们可以使用 pg 模块来连接 PostgreSQL 数据库。以下是连接 PostgreSQL 的示例代码:

const { Pool } = require('pg');









const pool = new Pool({

  user: 'your_user',
  host: 'localhost',
  database: 'your_database',
  password: 'your_password',
  port: 5432,
});



pool.connect()
  .then(() => {
    console.log('Connected to PostgreSQL database!');
  })
  .catch((err) => {
    console.error('Error connecting to PostgreSQL database:', err);
  });

module.exports = pool;

userhostdatabasepasswordport 替换为你自己的 PostgreSQL 数据库的连接信息。

生产环境配置

在生产环境中,我们建议使用连接池连接 PostgreSQL 数据库。以下是在生产环境中使用连接池连接 PostgreSQL 的示例代码:

const { Pool } = require('pg');









const pool = new Pool({

  connectionString: process.env.DATABASE_URL,
  ssl: {
    rejectUnauthorized: false,
  },
});



pool.connect()
  .then(() => {
    console.log('Connected to PostgreSQL database!');
  })
  .catch((err) => {
    console.error('Error connecting to PostgreSQL database:', err);
  });


module.exports = pool;

在上述代码中,我们使用 process.env.DATABASE_URL 来获取 PostgreSQL 连接字符串,该值可以通过设置环境变量来配置。

Redis 数据库连接

本地开发环境

在本地开发环境中,我们可以使用 ioredis 模块来连接 Redis 数据库。以下是连接 Redis 的示例代码:

const Redis = require('ioredis');









const redis = new Redis({
  host: 'localhost',

  port: 6379,
  password: 'your_password',


});



redis.on('connect', () => {
  console.log('Connected to Redis database!');
});


module.exports = redis;

hostportpassword 替换为你自己的 Redis 数据库的连接信息。上述代码创建了一个 Redis 客户端实例,并在连接成功后打印一条成功的消息。

生产环境配置

在生产环境中,我们建议使用环境变量来配置 Redis 连接。以下是在生产环境中使用环境变量连接 Redis 数据库的示例代码:

const Redis = require('ioredis');









const redis = new Redis(process.env.REDIS_URL);

redis.on('connect', () => {
  console.log('Connected to Redis database!');
});



module.exports = redis;

在上述代码中,我们使用 process.env.REDIS_URL 来获取 Redis 连接 URL,该值可以通过设置环境变量来配置。

通过以上步骤,你已经成功连接到 Redis 数据库,并准备好使用 Redis 进行数据操作。

总结:

在本章中,我们介绍了在 Node.js 的 Express 应用程序中集成和连接主流数据库(MySQL、MongoDB、PostgreSQL、Redis)的方式。我们提供了本地开发和生产环境下的代码配置示例,帮助你在不同环境中正确地连接和配置数据库。

请根据你的实际需求和数据库选择相应的代码配置示例,并替换为你自己的数据库连接信息。

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYhXn25x' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片