Node.js 是一种流行的 JavaScript 运行时环境,它允许你在服务器端运行 JavaScript 代码。在处理数据库时,Node.js 提供了多种库和框架,使数据库操作变得简单而高效。
常用数据库类型
- 关系型数据库:如 MySQL、PostgreSQL
- 非关系型数据库:如 MongoDB、Redis
Node.js 与数据库的连接
Node.js 可以通过多种方式连接到数据库,以下是一些常用的方法:
- 使用原生模块:Node.js 提供了原生的
mysql
和pg
模块来连接关系型数据库。 - 使用第三方库:如
mongoose
用于 MongoDB,redis
用于 Redis。
示例:连接 MongoDB
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/mydatabase', {
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 MongoDB!');
});
数据库操作
以下是一些基本的数据库操作示例:
创建文档:
const userSchema = new mongoose.Schema({ name: String, email: String, }); const User = mongoose.model('User', userSchema); const newUser = new User({ name: 'John Doe', email: 'john@example.com' }); newUser.save((err, user) => { if (err) throw err; console.log('User saved successfully!'); });
查询文档:
User.find({ name: 'John Doe' }, (err, users) => { if (err) throw err; console.log(users); });
更新文档:
User.findByIdAndUpdate('some-id', { name: 'Jane Doe' }, { new: true }, (err, user) => { if (err) throw err; console.log('User updated!'); });
删除文档:
User.findByIdAndDelete('some-id', (err, user) => { if (err) throw err; console.log('User deleted!'); });
扩展阅读
更多关于 Node.js 和数据库的知识,可以参考以下链接:
希望这份指南能帮助您更好地理解 Node.js 和数据库的关系。🤗