在Linux服务器上部署Node.js应用时,与数据库的交互是核心环节之一。无论是关系型数据库还是文档型数据库,Node.js生态都提供了成熟、高效的驱动库。下面这张图概括了常见的交互方式,我们可以结合具体代码来理解。

1. MySQL:经典关系型数据库的选择
对于MySQL这类传统但广泛使用的关系型数据库,Node.js社区主要有mysql和mysql2两个库可供选择。后者性能更优,并支持Promise等现代语法。安装起来很简单:
npm install mysql
连接和查询的基本流程如下。关键在于配置好连接参数(主机、用户、密码、数据库名),然后通过回调函数处理结果。
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
connection.connect(error => {
if (error) throw error;
console.log('Connected to the database!');
connection.query('SELECT * FROM your_table', (error, results, fields) => {
if (error) throw error;
console.log(results);
});
});
connection.end();
2. PostgreSQL:功能强大的对象关系型数据库
如果你选用的是PostgreSQL,那么pg库是事实上的标准选择。它的安装同样直接:
npm install pg
使用方式与MySQL库类似,通过创建Client实例进行连接。注意查询结果存放在results.rows中。
const { Client } = require('pg');
const client = new Client({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
client.connect(error => {
if (error) throw error;
console.log('Connected to the database!');
client.query('SELECT * FROM your_table', (error, results) => {
if (error) throw error;
console.log(results.rows);
});
});
client.end();
3. MongoDB:灵活的文档型数据库
对于NoSQL阵营的MongoDB,mongoose库提供了包括模式(Schema)定义、数据验证在内的一整套优雅的ODM(对象文档映射)解决方案。首先安装它:
npm install mongoose
连接字符串的格式略有不同,并且连接过程是事件驱动的。连接成功后,便可以定义模型并执行查询。
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/your_database', {
useNewUrlParser: true,
useUnifiedTopology: true
});
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
console.log('Connected to the database!');
const YourModel = mongoose.model('YourModel', { /* schema definition */ });
YourModel.find({}, (error, results) => {
if (error) throw error;
console.log(results);
});
});
说到底,选择哪个库取决于你的数据库类型。上面的代码示例提供了最基础的连接和查询模板,算是帮你开了个头。在实际项目中,你还需要考虑连接池管理、复杂的查询构建、事务处理以及更健壮的错误处理机制。但无论如何,从这些基础步骤出发,你就能让Node.js应用在Linux环境下与数据库顺畅对话了。
