返回
Node js 连接 MySQL 与 MongoDB 的实现
前端
2024-01-07 19:37:59
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 两个流行的数据库。我们还通过代码示例演示了增删改查等常见操作。希望本文对您有所帮助。