在Ubuntu上使用Node.js进行数据库操作

在Ubuntu环境下,用Node.js来操作数据库,其实是一套相当标准化的流程。无论你最终选择哪种数据库,核心的步骤都大同小异。下面,我们就来拆解一下这个流程,让你能快速上手。
-
安装Node.js:这是所有工作的起点。如果你的系统里还没有Node.js,打开终端,执行下面这两条命令就能搞定。第一条命令是更新软件包列表,确保安装的是最新版本;第二条则是安装Node.js和它自带的包管理器npm。
sudo apt update sudo apt install nodejs npm -
选择数据库:这一步完全取决于你的项目需求。是想要文档型的灵活(比如MongoDB),还是关系型数据库的严谨(比如MySQL或PostgreSQL)?先确定好方向,后续的安装和配置才能有的放矢。
-
安装数据库:这里以MongoDB为例。通过apt包管理器安装非常方便,安装完成后,记得启动服务并设置为开机自启,这样数据库服务就会一直在后台运行。
sudo apt install -y mongodb sudo systemctl start mongod sudo systemctl enable mongod -
安装数据库驱动:Node.js本身并不直接“认识”各种数据库,需要通过特定的驱动包来“翻译”。使用npm安装对应的驱动即可。比如,对于MongoDB,业界最常用的ODM(对象文档映射)工具就是
mongoose。npm install mongoose -
编写Node.js代码:万事俱备,只欠编码。创建一个
app.js这样的文件,把连接和操作数据库的逻辑写进去。下面的代码展示了一个使用Mongoose的完整小例子:从建立连接、定义数据模型,到创建记录和查询数据,一气呵成。const mongoose = require('mongoose'); // 连接到MongoDB数据库 mongoose.connect('mongodb://localhost:27017/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true }); // 定义一个Schema const userSchema = new mongoose.Schema({ name: String, age: Number }); // 创建一个Model const User = mongoose.model('User', userSchema); // 创建一个新的用户 const newUser = new User({ name: 'John Doe', age: 30 }); newUser.sa ve((err, user) => { if (err) return console.error(err); console.log('User sa ved:', user); }); // 查询用户 User.find({}, (err, users) => { if (err) return console.error(err); console.log('Users:', users); }); -
运行Node.js应用程序:最后一步,在终端里运行你的脚本,看看效果。如果一切顺利,控制台就会打印出数据库操作的结果。
node app.js
示例:使用MySQL
当然,如果你的选择是MySQL这样的关系型数据库,流程也完全类似,只是换一下具体的安装包和驱动而已。我们再来快速过一遍:
-
安装MySQL:同样是使用apt进行安装,并启动服务。
sudo apt update sudo apt install mysql-server sudo systemctl start mysql sudo systemctl enable mysql -
安装MySQL驱动:Node.js社区为MySQL提供了官方的
mysql驱动包,安装它。npm install mysql -
编写Node.js代码:代码逻辑和MongoDB版本异曲同工。先创建连接,然后执行SQL语句。注意,这里使用的是参数化查询(
?占位符),这是一种防止SQL注入的安全实践,务必养成习惯。const mysql = require('mysql'); // 创建数据库连接 const connection = mysql.createConnection({ host: 'localhost', user: 'your_username', password: 'your_password', database: 'mydatabase' }); // 连接到数据库 connection.connect(err => { if (err) throw err; console.log('Connected to the MySQL server.'); }); // 创建一个新的用户 const sql = 'INSERT INTO users (name, age) VALUES (?, ?)'; const values = ['John Doe', 30]; connection.query(sql, values, (err, result) => { if (err) throw err; console.log('User created:', result.insertId); }); // 查询用户 connection.query('SELECT * FROM users', (err, results) => { if (err) throw err; console.log('Users:', results); }); // 关闭连接 connection.end(); -
运行Node.js应用程序:运行脚本,验证连接和操作是否成功。
node app.js
看到这里,你应该已经发现了,在Ubuntu上用Node.js操作数据库,本质上就是“环境准备-驱动安装-编码连接”这三部曲。无论数据库怎么换,这个核心框架都不会变。剩下的,就是根据具体数据库的语法特性,去填充你的业务逻辑了。
