Node.js 是一种流行的 JavaScript 运行时环境,它允许你在服务器端运行 JavaScript 代码。在处理数据库时,Node.js 提供了多种库和框架,使数据库操作变得简单而高效。

常用数据库类型

  • 关系型数据库:如 MySQL、PostgreSQL
  • 非关系型数据库:如 MongoDB、Redis

Node.js 与数据库的连接

Node.js 可以通过多种方式连接到数据库,以下是一些常用的方法:

  • 使用原生模块:Node.js 提供了原生的 mysqlpg 模块来连接关系型数据库。
  • 使用第三方库:如 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 和数据库的关系。🤗