返回

Node js 连接 MySQL 与 MongoDB 的实现

前端

Node js 连接 MySQL 与 MongoDB 的实现

1. 安装必要软件

在开始之前,您需要确保已经安装了 Node.js、MySQL 和 MongoDB。如果您还没有安装,请参考官方文档进行安装。

2. 建立 Node.js 项目

创建一个新的 Node.js 项目,并安装必要的依赖库。您可以使用以下命令:

mkdir my-app
cd my-app
npm init -y
npm install mysql2 mongodb

3. 连接 MySQL

使用 mysql2 库连接到 MySQL 数据库。您可以使用以下代码:

const mysql = require('mysql2');

// 创建一个连接池
const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'my_database'
});

// 获取一个连接
pool.getConnection((err, connection) => {
  if (err) throw err;

  // 使用连接执行查询
  connection.query('SELECT * FROM users', (err, results) => {
    if (err) throw err;

    console.log(results);

    // 释放连接
    connection.release();
  });
});

4. 连接 MongoDB

使用 mongodb 库连接到 MongoDB 数据库。您可以使用以下代码:

const MongoClient = require('mongodb').MongoClient;

// 连接到 MongoDB
MongoClient.connect('mongodb://localhost:27017', (err, client) => {
  if (err) throw err;

  // 获取数据库
  const db = client.db('my_database');

  // 获取集合
  const collection = db.collection('users');

  // 查询集合
  collection.find({}).toArray((err, results) => {
    if (err) throw err;

    console.log(results);

    // 关闭连接
    client.close();
  });
});

5. 增删改查操作

在连接到数据库之后,您就可以执行增删改查操作了。以下是一些示例:

插入数据

// 插入数据到 MySQL
pool.getConnection((err, connection) => {
  if (err) throw err;

  connection.query('INSERT INTO users (name, email) VALUES (?, ?)', ['John Doe', 'john.doe@example.com'], (err, results) => {
    if (err) throw err;

    console.log(results);

    connection.release();
  });
});

// 插入数据到 MongoDB
MongoClient.connect('mongodb://localhost:27017', (err, client) => {
  if (err) throw err;

  const db = client.db('my_database');
  const collection = db.collection('users');

  collection.insertOne({ name: 'John Doe', email: 'john.doe@example.com' }, (err, results) => {
    if (err) throw err;

    console.log(results);

    client.close();
  });
});

删除数据

// 删除数据从 MySQL
pool.getConnection((err, connection) => {
  if (err) throw err;

  connection.query('DELETE FROM users WHERE id = ?', [1], (err, results) => {
    if (err) throw err;

    console.log(results);

    connection.release();
  });
});

// 删除数据从 MongoDB
MongoClient.connect('mongodb://localhost:27017', (err, client) => {
  if (err) throw err;

  const db = client.db('my_database');
  const collection = db.collection('users');

  collection.deleteOne({ _id: '638d656582c261d7c79c058b' }, (err, results) => {
    if (err) throw err;

    console.log(results);

    client.close();
  });
});

修改数据

// 修改数据在 MySQL
pool.getConnection((err, connection) => {
  if (err) throw err;

  connection.query('UPDATE users SET name = ? WHERE id = ?', ['Jane Doe', 1], (err, results) => {
    if (err) throw err;

    console.log(results);

    connection.release();
  });
});

// 修改数据在 MongoDB
MongoClient.connect('mongodb://localhost:27017', (err, client) => {
  if (err) throw err;

  const db = client.db('my_database');
  const collection = db.collection('users');

  collection.updateOne({ _id: '638d656582c261d7c79c058b' }, { $set: { name: 'Jane Doe' } }, (err, results) => {
    if (err) throw err;

    console.log(results);

    client.close();
  });
});

查询数据

// 查询数据从 MySQL
pool.getConnection((err, connection) => {
  if (err) throw err;

  connection.query('SELECT * FROM users', (err, results) => {
    if (err) throw err;

    console.log(results);

    connection.release();
  });
});

// 查询数据从 MongoDB
MongoClient.connect('mongodb://localhost:27017', (err, client) => {
  if (err) throw err;

  const db = client.db('my_database');
  const collection = db.collection('users');

  collection.find({}).toArray((err, results) => {
    if (err) throw err;

    console.log(results);

    client.close();
  });
});

结论

在本教程中,我们介绍了如何使用 Node.js 连接 MySQL 和 MongoDB 两个流行的数据库。我们还通过代码示例演示了增删改查等常见操作。希望本文对您有所帮助。