📅  最后修改于: 2023-12-03 15:00:40.579000             🧑  作者: Mango
在现代 Web 开发中,数据库使用是必不可少的一部分。Express.js 提供了方便的数据库集成方式,使开发人员可以快速地与数据库进行交互。本文将介绍在 Express.js 中集成常用数据库的方法。
MongoDB 是一种文档数据库,具有灵活的数据模型和强大的查询功能。在 Express.js 中集成 MongoDB 可以使用 mongoose 库。
首先需要安装 mongoose,可以使用 npm 安装:
npm install --save mongoose
然后在应用中连接数据库:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/myapp', { useNewUrlParser: true })
.then(() => console.log('MongoDB connected'))
.catch(err => console.error(err));
这里连接了一个名为 myapp
的本地 MongoDB 数据库,连接成功后会输出 MongoDB connected
,否则会输出错误信息。
定义模型可以使用 mongoose.Schema
和 mongoose.model
,例如:
const UserSchema = new mongoose.Schema({
name: String,
age: Number,
email: String,
});
const User = mongoose.model('User', UserSchema);
User.find({}, (err, users) => {
if (err) return console.error(err);
console.log(users);
});
这里定义了一个名为 User
的模型,包含三个属性 name
、age
和 email
。然后使用 User.find
方法查询所有用户,并输出结果。
MySQL 是一种广泛使用的关系型数据库,支持大型数据和复杂查询。在 Express.js 中集成 MySQL 可以使用 mysql 库。
首先需要安装 mysql,可以使用 npm 安装:
npm install --save mysql
然后在应用中连接数据库:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'myuser',
password: 'mypassword',
database: 'mydb',
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL');
console.error(err);
return;
}
console.log('MySQL connected');
});
这里连接了一个名为 mydb
的本地 MySQL 数据库,连接成功后会输出 MySQL connected
,否则会输出错误信息。
查询可以使用 connection.query
方法,例如:
connection.query('SELECT * FROM users', (err, results, fields) => {
if (err) throw err;
console.log(results);
});
这里查询了 users
表中的所有数据,并输出结果。
PostgreSQL 是一种开源的关系型数据库,具有高度可扩展性和丰富的数据类型。在 Express.js 中集成 PostgreSQL 可以使用 pg 库。
首先需要安装 pg,可以使用 npm 安装:
npm install --save pg
然后在应用中连接数据库:
const { Pool } = require('pg');
const pool = new Pool({
user: 'myuser',
host: 'localhost',
database: 'mydb',
password: 'mypassword',
port: 5432,
});
pool.query('SELECT NOW()', (err, res) => {
if (err) {
console.error('Error connecting to PostgreSQL');
console.error(err);
return;
}
console.log('PostgreSQL connected');
pool.end();
});
这里连接了一个名为 mydb
的本地 PostgreSQL 数据库,连接成功后会输出 PostgreSQL connected
,否则会输出错误信息。
查询可以使用 pool.query
方法,例如:
pool.query('SELECT * FROM users', (err, res) => {
if (err) throw err;
console.log(res.rows);
});
这里查询了 users
表中的所有数据,并输出结果。
Express.js 中集成数据库可以使用许多不同的库和方法,这里介绍了几种常用的方式。选择哪种方式取决于具体的应用场景,例如要使用哪种数据库类型、要查询哪些数据等等。无论使用何种方式,都需要注意安全性和性能等方面的问题。