Node.jsでのデータベース操作: MongoDBとMySQL
Node.jsはその非同期の特性により、データベース操作においても優れたパフォーマンスを発揮します。
このセクションでは、Node.jsで最も一般的に使用される2つのデータベース、
NoSQLのMongoDBとリレーショナルデータベースのMySQLの設定と接続方法、
さらにはCRUD操作までを解説します。
MongoDBの設定と接続
MongoDBはドキュメント指向のNoSQLデータベースで、大量のデータと高速な処理が要求されるアプリケーションに適しています。Node.jsとMongoDBを連携させるには、mongoose
ライブラリをよく使用します。
Mongooseのインストール
プロジェクトディレクトリで次のコマンドを実行して、mongooseをインストールします。
npm install mongoose
接続の設定
Mongooseを使用して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("We're connected!");
});
CRUD操作
MongoDBでデータモデルを定義し、CRUD操作を実行する例を示します。
const userSchema = new mongoose.Schema({
name: String,
age: Number
});
const User = mongoose.model('User', userSchema);
// Create
const alice = new User({ name: 'Alice', age: 25 });
alice.save().then(() => console.log('User Created'));
// Read
User.find().then(users => console.log(users));
// Update
User.findOneAndUpdate({ name: 'Alice' }, { age: 26 }).then(() => console.log('User Updated'));
// Delete
User.deleteOne({ name: 'Alice' }).then(() => console.log('User Deleted'));
MySQLの設定と接続
MySQLは広く使用されているリレーショナルデータベース管理システムです。Node.jsでMySQLデータベースに接続するためには、mysql
ライブラリが一般的です。
mysqlのインストール
npm install mysql
接続の設定
MySQLデータベースへの接続設定は次のようになります。
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'yourUsername',
password: 'yourPassword',
database: 'mydatabase'
});
connection.connect(err => {
if (err) throw err;
console.log('Connected to MySQL!');
});
CRUD操作
MySQLでのCRUD操作の基本的な例を示します。
// Create
connection.query('INSERT INTO users (name, age) VALUES ("Bob", 30)', (err, result) => {
if (err) throw err;
console.log('User Created');
});
// Read
connection.query('SELECT * FROM users', (err, results) => {
if (err) throw err;
console.log(results);
});
// Update
connection.query('UPDATE users SET age = 31 WHERE name = "Bob"', (err, result) => {
if (err) throw err;
console.log('User Updated');
});
// Delete
connection.query('DELETE FROM users WHERE name = "Bob"', (err, result) => {
if (err) throw err;
console.log('User Deleted');
});
まとめ
MongoDBとMySQLはNode.jsアプリケーションで広く使われているデータベースです。それぞれのデータベースは異なる種類のデータ管理ニーズに応じて選ばれ、Node.jsの非同期処理能力と組み合わせることで、高性能でスケーラブルなアプリケーションを構築することが可能です。適切なライブラリと明確な設定を用いることで、データベースの操作も非常にシンプルかつ効率的に行えます。
Node.jsのセキュリティベストプラクティス
5月 6, 2024Node.jsでの非同期プログラミング: コールバックからPromisesへ
5月 2, 2024Node.jsでの最初のアプリケーション: Hello World
4月 28, 2024