PR

36日目: MongoDBを使ったデータ操作

スポンサーリンク
第2部: 学習と挑戦

田中一郎は、SQLiteを使ってデータベースの基本を学んだ後、より実践的な環境でのデータ操作に挑戦することにした。
今日は、「MongoDBを使ったデータ操作」を学ぶ日だ。
MongoDBは、NoSQLデータベースとして広く使われており、ドキュメントベースのデータ管理を特徴としている。
一郎は、SQLとは異なるアプローチでデータを操作する方法を習得することを目指した。

MongoDBの基本概念

まず、一郎はMongoDBに関する基本的な概念を学び始めた。
「MongoDBは、データをドキュメント形式で保存するNoSQLデータベースであり、柔軟なスキーマを持つため、様々なデータ形式に対応できる」という説明を理解した一郎は、リレーショナルデータベースとの違いに興味を持った。

  • ドキュメント: MongoDBでは、データはBSON形式のドキュメントとして保存される。これはJSON形式に似た構造を持つ。
  • コレクション: ドキュメントが集まる場所で、リレーショナルデータベースのテーブルに相当する。
  • データベース: コレクションをまとめるための単位で、複数のコレクションを持つことができる。

MongoDBのインストールと接続

一郎は、まずMongoDBをローカル環境にインストールし、接続する準備を整えた。
MongoDBの公式サイトからインストールパッケージをダウンロードし、指示に従ってインストールを完了させた。

次に、MongoDBサーバーを起動し、コマンドラインインターフェース(CLI)を使ってMongoDBに接続した。

mongo

このコマンドを実行すると、MongoDBのシェルが起動し、データベース操作を開始できるようになった。

MongoDBでのデータ操作

一郎は、まず新しいデータベースを作成し、その中にコレクションを作成することにした。

use mydatabase

mydatabaseという名前の新しいデータベースが作成され、一郎はその中にusersコレクションを作成した。

db.createCollection("users")

コレクションが作成された後、一郎はサンプルデータを挿入するために、insertOneメソッドを使用した。

db.users.insertOne({ name: "田中 一郎", email: "ichiro@example.com" })
db.users.insertOne({ name: "鈴木 英二", email: "eiji@example.com" })

これにより、usersコレクションに2件のドキュメントが追加された。
続いて、挿入されたデータを確認するために、findメソッドを実行した。

db.users.find().pretty()

このコマンドにより、usersコレクション内のすべてのドキュメントが整然とした形式で表示された。
一郎は、データの挿入と検索が正常に動作していることを確認した。

データの更新と削除

次に、一郎はMongoDBを使ってデータの更新と削除を行う方法を学んだ。
まず、特定の条件に一致するドキュメントを更新する方法を試みた。

db.users.updateOne({ name: "田中 一郎" }, { $set: { email: "ichiro_new@example.com" } })

このコマンドにより、田中 一郎のメールアドレスが新しいものに更新された。
また、データの削除はdeleteOneメソッドを使用して行った。

db.users.deleteOne({ name: "鈴木 英二" })

このコマンドにより、usersコレクションから鈴木 英二のドキュメントが削除されたことを確認した。

サーバーサイドとの連携を見据えて

一郎は、MongoDBでのデータ操作に成功し、次のステップではNode.jsとMongoDBを連携させ、サーバーサイドでのデータ操作を実現する計画を立てた。
これにより、より高度なアプリケーションを構築できるようになるだろうと考えていた。

夜、一郎は美咲に今日の学びについて話した。「今日はMongoDBを使ってデータを操作してみたんだ。これでサーバーサイドと連携させて、もっと複雑なアプリを作る準備ができたよ」と話すと、美咲は「それはすごいわね!どんどん成長しているのが分かるわ」と喜んでくれた。

こうして、一郎はMongoDBを使ったデータ操作の基礎を学び、サーバーサイド開発に向けた準備をさらに進めることができた。


次回予告

次回、田中一郎はNode.jsとMongoDBを連携させ、サーバーサイドでのデータ操作を実現します。実際のアプリケーション開発に向けて、さらにスキルを高めるための挑戦が描かれる次回もお楽しみに!

コメント

タイトルとURLをコピーしました