在Ubuntu上,Node.js可以通过各种数据库驱动和ORM(对象关系映射)库与数据库进行交互。以下是一些常见的数据库及其对应的Node.js库:
MySQL:
使用mysql
或mysql2
库。首先安装库:
npm install mysql
或
npm install mysql2
示例代码:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
connection.connect();
connection.query('SELECT * FROM your_table', (error, results, fields) => {
if (error) throw error;
console.log(results);
});
connection.end();
PostgreSQL:
使用pg
库。首先安装库:
npm install pg
示例代码:
const { Client } = require('pg');
const client = new Client({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
client.connect();
client.query('SELECT * FROM your_table', (error, results) => {
if (error) throw error;
console.log(results.rows);
});
client.end();
MongoDB:
使用mongoose
库。首先安装库:
npm install mongoose
示例代码:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/your_database', { useNewUrlParser: true, useUnifiedTopology: true });
const yourSchema = new mongoose.Schema({
field1: String,
field2: Number
});
const YourModel = mongoose.model('YourModel', yourSchema);
YourModel.find({}, (error, results) => {
if (error) throw error;
console.log(results);
});
SQLite:
使用sqlite3
库。首先安装库:
npm install sqlite3
示例代码:
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('your_database.db');
db.all('SELECT * FROM your_table', (error, results) => {
if (error) throw error;
console.log(results);
});
db.close();
这些示例仅用于演示如何在不同数据库上使用Node.js。在实际项目中,您可能需要根据需求进行更多的配置和优化。同时,为了保持代码的可维护性和可读性,建议使用异步编程(如Promise或async/await)来处理数据库操作。